Kod oluşturma, bir çalışma alanındaki blokları çalıştırılabilir bir kod dizesine dönüştürme işlemidir.
Kod oluşturma, bloklarınızın aritmetik ifadeleri değerlendirme, bir karakteri labirentte hareket ettirme veya bir online mağazayı yapılandırma gibi işlemleri yapmasına olanak tanıdığı için son derece önemlidir.
Engelleri doğrudan "çalıştıramazsınız". Bunun yerine kod dizeleri oluşturup bunları yürütürsünüz.
Dil kodu oluşturucular
Kod oluşturmak için oluşturmak istediğiniz metne dayalı dili seçmeniz gerekir. Bunun nedeni, her dilin kendi kod oluşturucusunun olmasıdır.
Dil kodu oluşturucu (genellikle kod oluşturucu olarak adlandırılır), belirli bir dile özgü ancak tek bir bloğa özgü olmayan kod oluşturma kurallarını yöneten bir sınıftır. Örneğin, yorumları biçimlendirme, ifadeleri girintileme ve dizeleri tırnak içine alma gibi işlemleri gerçekleştirir.
Blockly, 5 yerleşik kod oluşturucu sağlar:
- JavaScript ES5
- Python 3
- Lua 5.1
- Dart 2
- PHP 7
Bu listede, kod oluşturmak istediğiniz dil yoksa özel bir dil kodu oluşturucu oluşturabilirsiniz. Basit bir örnek için JSON dil kodu oluşturucu oluşturan Özel bir oluşturucu oluşturma codelab'ine bakın. Daha karmaşık bir örnek için JavaScript kod oluşturucuya bakın. Ayrıca, kullanmak istediğiniz yerleşik bloklar için blok kodu oluşturucuları da yazmanız gerektiğini unutmayın.
Blok kod oluşturucular
Her blok kendi kodunu oluşturmaktan sorumludur. Bir blok oluşturduğunuzda, desteklemek istediğiniz her dil için ayrı bir blok kodu oluşturucu yazmanız gerekir.
Kod bloğu oluşturucu, ilgili bloğun kodunu dize olarak döndüren bir işlevdir. Örneğin, iki sayıyı karşılaştıran bir blok 'a < b'
biçiminde bir dize döndürür ve bir if ifadesini temsil eden bir blok 'if (...) {\n...\n};\n'
biçiminde bir dize döndürür.
import {javascriptGenerator} from 'blockly/javascript';
import {pythonGenerator} from 'blockly/python';
// Write block-code generators for JavaScript and Python.
javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) { /* ... */ };
pythonGenerator.forBlock['my_custom_block'] = function(block, generator) { /* ... */ };
Dil kodu oluşturucular, blok kodu oluşturucuları çağırır.
Daha fazla bilgi için Blok kod oluşturucular başlıklı makaleyi inceleyin.
Kod oluşturma ve çalıştırma
Uygulamanız istediğiniz zaman kod oluşturabilir. Örneğin, son kullanıcı bir düğmeyi tıkladığında veya her değişiklik yaptığında kod oluşturabilir.
Kodu oluşturduktan sonra nasıl çalıştıracağınızı belirlemeniz gerekir. Bu işlemin nasıl yürütüleceğine karar vermek uygulamaya özgüdür ve Blockly'nin kapsamı dışındadır.
Daha fazla bilgi için Kod oluşturma ve çalıştırma başlıklı makaleyi inceleyin.