İçeriğe geç

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.

DilMotor
TypeScriptQuickJS (türler derleme sırasında kaldırılır)
JavaScriptQuickJS
PythonPyodide (WebAssembly’ye derlenmiş CPython)
LuaWebAssembly’de Lua 5.4
RubyWebAssembly’de CRuby
RWebR
C#Roslyn ile WebAssembly’de .NET

Varsayılan dil TypeScript’tir.

Dil ne olursa olsun, kutu aynı şeyi sunar:

Girişlervalue (input olarak adlandırılır), code (dize)
Çıkışlarresult
Yapılandırmalanguage, 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 result portundan çıkar. Bir hata ya da zaman aşımı error portundan çıkar.

timeout, saniye cinsinden: varsayılan 5, en fazla 60. Bu süreyi aşan bir betik kesilir ve çalıştırma error portundan çıkar.

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.

DilKaynak
TypeScript / JavaScriptnpm (bütünü paketlenir)
PythonPyPI’den saf Python wheel’leri
LuaLuaRocks (saf Lua kaynakları)
RubySaf Ruby gem’leri
RCRAN, WebR’ın WebAssembly deposu üzerinden
C#Yok — yalnızca .NET standart kitaplığı

Birçok gereksinim, daha okunabilir ve daha hızlı olan kutular tarafından zaten karşılanır:

GereksinimKutu
Bir yanıttan değer çıkarmakBir bağlantı seçicisi
Bir dizeyi biçimlendirmekDönüştür
Bir listeyi filtrelemek, sıralamak, toplamakListeler
Özetlemek, kodlamak, imzalamakKodlama
Bir yapıyı denetlemekŞema doğrulama

Kod kutusunu gerçekten özgün mantık için saklayın.