Kod eylemleri
Grafik yetmediğinde Kod kutusu bir betik çalıştırır.
Yedi dil mevcuttur ve hepsi yerleşik bir WebAssembly kum havuzunda çalıştırılır: makinenizde hiçbir yorumlayıcı gerekmez ve betik dosya sisteminize erişemez.
| Dil | Motor |
|---|---|
| TypeScript | QuickJS (türler derleme sırasında kaldırılır) |
| JavaScript | QuickJS |
| Python | Pyodide (WebAssembly’ye derlenmiş CPython) |
| Lua | WebAssembly’de Lua 5.4 |
| Ruby | WebAssembly’de CRuby |
| R | WebR |
| C# | Roslyn ile WebAssembly’de .NET |
Varsayılan dil TypeScript’tir.
Ortak sözleşme
Section titled “Ortak sözleşme”Dil ne olursa olsun, kutu aynı şeyi sunar:
| Girişler | value (input olarak adlandırılır), code (dize) |
| Çıkışlar | result |
| Yapılandırma | language, code, timeout, packages |
input— giriş portunda alınan değer.vars— çalıştırma değişkenleri.- Dilin standart çıktısı (
console.log,print,puts,cat,Console.WriteLine) çalıştırma günlüğünü besler. - Döndürülen değer
resultportundan çıkar. Bir hata ya da zaman aşımıerrorportundan çıkar.
Zaman aşımı
Section titled “Zaman aşımı”timeout, saniye cinsinden: varsayılan 5, en fazla 60. Bu süreyi aşan
bir betik kesilir ve çalıştırma error portundan çıkar.
Dış paketler
Section titled “Dış paketler”packages alanı { name, version } biçiminde bir liste kabul eder. Tam sürüm
numaraları önbellek anahtarı olarak kullanılır: bağımlılıklar ilk
çalıştırmada çözümlenir, önbelleğe alınır, sonraki her çalıştırmada da
çevrimdışı bağlanır — CI dâhil.
| Dil | Kaynak |
|---|---|
| TypeScript / JavaScript | npm (bütünü paketlenir) |
| Python | PyPI’den saf Python wheel’leri |
| Lua | LuaRocks (saf Lua kaynakları) |
| Ruby | Saf Ruby gem’leri |
| R | CRAN, WebR’ın WebAssembly deposu üzerinden |
| C# | Yok — yalnızca .NET standart kitaplığı |
Kod yazmamak gerektiğinde
Section titled “Kod yazmamak gerektiğinde”Birçok gereksinim, daha okunabilir ve daha hızlı olan kutular tarafından zaten karşılanır:
| Gereksinim | Kutu |
|---|---|
| Bir yanıttan değer çıkarmak | Bir bağlantı seçicisi |
| Bir dizeyi biçimlendirmek | Dönüştür |
| Bir listeyi filtrelemek, sıralamak, toplamak | Listeler |
| Özetlemek, kodlamak, imzalamak | Kodlama |
| Bir yapıyı denetlemek | Şema doğrulama |
Kod kutusunu gerçekten özgün mantık için saklayın.