Lewati ke konten

Aksi kode

Ketika grafnya tidak lagi memadai, kotak Kode menjalankan sebuah skrip.

Tersedia tujuh bahasa, semuanya dijalankan di dalam kotak pasir WebAssembly bawaan: tidak ada interpreter yang perlu dipasang di mesin Anda, dan skripnya tidak memiliki akses ke sistem file Anda.

BahasaMesin
TypeScriptQuickJS (tipe dibuang saat kompilasi)
JavaScriptQuickJS
PythonPyodide (CPython yang dikompilasi ke WebAssembly)
LuaLua 5.4 dalam WebAssembly
RubyCRuby dalam WebAssembly
RWebR
C#.NET dalam WebAssembly dengan Roslyn

Bahasa bawaannya adalah TypeScript.

Apa pun bahasanya, kotaknya mengekspos hal yang sama:

Masukanvalue (dinamai input), code (string)
Keluaranresult
Konfigurasilanguage, code, timeout, packages
  • input — nilai yang diterima di port masukannya.
  • varsvariabel run.
  • Keluaran standar bahasanya (console.log, print, puts, cat, Console.WriteLine) memasok log eksekusinya.
  • Nilai yang dikembalikan berangkat lewat port result. Sebuah galat atau pelampauan batas waktu berangkat lewat error.

timeout, dalam detik: 5 secara bawaan, maksimum 60. Skrip yang melampauinya akan dihentikan dan eksekusinya berangkat lewat port error.

Kolom packages menerima sebuah daftar { nama, versi }. Versi persisnya berfungsi sebagai kunci cache: dependensinya diselesaikan pada eksekusi pertama, disimpan dalam cache, lalu dipasang tanpa koneksi pada setiap eksekusi berikutnya — termasuk di CI.

BahasaSumber
TypeScript / JavaScriptnpm (semuanya dibundel)
PythonWheel murni Python dari PyPI
LuaLuaRocks (sumber murni Lua)
RubyGem murni Ruby
RCRAN, lewat repositori WebAssembly milik WebR
C#Tidak ada — hanya pustaka standar .NET

Banyak kebutuhan sudah tercakup oleh kotak-kotak yang lebih mudah dibaca dan lebih cepat:

KebutuhanKotak
Mengekstrak sebuah nilai dari responsSebuah selektor sambungan
Memformat sebuah stringTransform
Menyaring, mengurutkan, mengagregasi sebuah daftarDaftar
Melakukan hashing, encoding, penandatangananEncoding
Memeriksa sebuah strukturMemvalidasi sebuah skema

Simpanlah kotak Kode untuk logika yang benar-benar khusus.