Ga naar inhoud

Code-acties

Waar de graaf niet volstaat, voert het vakje Code een script uit.

Er zijn zeven talen beschikbaar, die alle in een meegeleverde WebAssembly-sandbox draaien: u hebt geen interpreter op uw machine nodig, en het script heeft geen toegang tot uw bestandssysteem.

TaalEngine
TypeScriptQuickJS (typen worden bij het compileren verwijderd)
JavaScriptQuickJS
PythonPyodide (CPython gecompileerd naar WebAssembly)
LuaLua 5.4 in WebAssembly
RubyCRuby in WebAssembly
RWebR
C#.NET in WebAssembly met Roslyn

De standaardtaal is TypeScript.

Welke taal u ook kiest, het vakje biedt hetzelfde aan:

Invoervalue (met de naam input), code (tekenreeks)
Uitvoerresult
Configuratielanguage, code, timeout, packages
  • input — de waarde die op de invoerpoort is ontvangen.
  • vars — de runvariabelen.
  • De standaarduitvoer van de taal (console.log, print, puts, cat, Console.WriteLine) voedt het uitvoeringslogboek.
  • De teruggegeven waarde gaat naar de poort result. Een fout of een overschreden timeout gaat naar error.

timeout, in seconden: standaard 5, maximaal 60. Een script dat daarboven komt, wordt afgebroken en de uitvoering gaat naar de poort error.

Het veld packages accepteert een lijst van { naam, versie }. De exacte versies dienen als cachesleutel: de afhankelijkheden worden bij de eerste uitvoering opgelost, gecachet, en daarna bij elke volgende uitvoering offline aangekoppeld — ook in CI.

TaalBron
TypeScript / JavaScriptnpm (het geheel wordt gebundeld)
PythonPure-Python-wheels van PyPI
LuaLuaRocks (bronnen in pure Lua)
RubyPure-Ruby-gems
RCRAN, via de WebAssembly-repository van WebR
C#Geen — uitsluitend de standaardbibliotheek van .NET

Veel behoeften zijn al door vakjes gedekt, die leesbaarder en sneller zijn:

BehoefteVakje
Een waarde uit een respons halenEen verbindingsselector
Een tekenreeks opmakenTransformeren
Een lijst filteren, sorteren, aggregerenLijsten
Hashen, encoderen, ondertekenenEncodering
Een structuur controlerenEen schema valideren

Houd het vakje Code voor de logica die werkelijk specifiek is.