Aller au contenu

Akcije koda

Kada graf nije dovoljan, kutija Code izvodi skriptu.

Dostupno je sedam jezika, svi izvedeni u ugrađenom WebAssembly pješčaniku: na vašem računalu nije potreban nikakav interpreter, a skripta nema pristup vašem datotečnom sustavu.

JezikPogon
TypeScriptQuickJS (tipovi se uklanjaju pri prevođenju)
JavaScriptQuickJS
PythonPyodide (CPython preveden u WebAssembly)
LuaLua 5.4 u WebAssemblyju
RubyCRuby u WebAssemblyju
RWebR
C#.NET u WebAssemblyju s Roslynom

Zadani je jezik TypeScript.

Bez obzira na jezik, kutija izlaže isto:

Ulazivalue (nazvan input), code (niz)
Izlaziresult
Konfiguracijalanguage, code, timeout, packages
  • input — vrijednost primljena na ulaznom portu.
  • varsvarijable izvođenja.
  • Standardni izlaz jezika (console.log, print, puts, cat, Console.WriteLine) puni zapisnik izvođenja.
  • Vraćena vrijednost odlazi na port result. Pogreška ili prekoračenje vremena odlazi na error.

timeout, u sekundama: zadano 5, najviše 60. Skripta koja to prekorači prekida se, a izvođenje odlazi na port error.

Polje packages prihvaća popis oblika { name, version }. Točne verzije služe kao ključ predmemorije: ovisnosti se razrješavaju pri prvom izvođenju, spremaju u predmemoriju, a zatim se pri svakom sljedećem izvođenju postavljaju izvan mreže — uključujući u CI-ju.

JezikIzvor
TypeScript / JavaScriptnpm (sve se pakira zajedno)
PythonČisto Python kotači s PyPI-ja
LuaLuaRocks (čisto Lua izvori)
RubyČisto Ruby gemovi
RCRAN, preko WebR-ova WebAssembly repozitorija
C#Nijedan — samo standardna .NET biblioteka

Mnoge su potrebe već pokrivene kutijama, koje su čitljivije i brže:

PotrebaKutija
Izdvojiti vrijednost iz odgovoraSelektor veze
Oblikovati nizTransformacija
Filtrirati, sortirati, agregirati popisPopisi
Sažeti, kodirati, potpisatiKodiranje
Provjeriti strukturuValidirati shemu

Kutiju Code čuvajte za doista specifičnu logiku.