Sari la conținut

Acțiuni de cod

Când graful nu este de ajuns, cutia Code execută un script.

Sunt disponibile șapte limbaje, toate rulate într-un mediu izolat WebAssembly încorporat: nu este necesar niciun interpretor pe mașina dumneavoastră, iar scriptul nu are acces la sistemul dumneavoastră de fișiere.

LimbajMotor
TypeScriptQuickJS (tipurile sunt eliminate la compilare)
JavaScriptQuickJS
PythonPyodide (CPython compilat în WebAssembly)
LuaLua 5.4 în WebAssembly
RubyCRuby în WebAssembly
RWebR
C#.NET în WebAssembly, cu Roslyn

Limbajul implicit este TypeScript.

Indiferent de limbaj, cutia expune același lucru:

Intrărivalue (denumită input), code (șir)
Ieșiriresult
Configurarelanguage, code, timeout, packages
  • input — valoarea primită pe portul de intrare.
  • varsvariabilele de rulare.
  • Ieșirea standard a limbajului (console.log, print, puts, cat, Console.WriteLine) alimentează jurnalul execuției.
  • Valoarea returnată pleacă pe portul result. O eroare sau o depășire a termenului pleacă pe error.

timeout, în secunde: 5 implicit, 60 la maximum. Un script care depășește această durată este întrerupt, iar execuția pleacă pe portul error.

Câmpul packages acceptă o listă de { nom, version }. Versiunile exacte servesc drept cheie de cache: dependențele sunt rezolvate la prima execuție, puse în cache, apoi montate offline la fiecare execuție următoare — inclusiv în CI.

LimbajSursă
TypeScript / JavaScriptnpm (ansamblul este împachetat)
PythonRoți pur Python de la PyPI
LuaLuaRocks (surse pur Lua)
RubyGems pur Ruby
RCRAN, prin depozitul WebAssembly al WebR
C#Niciuna — doar biblioteca standard .NET

Multe nevoi sunt deja acoperite de cutii, mai lizibile și mai rapide:

NevoieCutie
Extragerea unei valori dintr-un răspunsUn selector de legătură
Formatarea unui șirTransformă
Filtrarea, sortarea, agregarea unei listeListe
Hașurare, codificare, semnareCodificare
Verificarea unei structuriValidează o schemă

Păstrați cutia Code pentru logica cu adevărat specifică.