Přeskočit na obsah

Akce s kódem

Když graf nestačí, blok Kód spustí skript.

K dispozici je sedm jazyků a všechny běží ve vestavěném sandboxu WebAssembly: na vašem počítači není potřeba žádný interpret a skript nemá přístup k vašemu systému souborů.

JazykEngine
TypeScriptQuickJS (typy se při kompilaci odstraní)
JavaScriptQuickJS
PythonPyodide (CPython zkompilovaný do WebAssembly)
LuaLua 5.4 ve WebAssembly
RubyCRuby ve WebAssembly
RWebR
C#.NET ve WebAssembly s Roslynem

Výchozím jazykem je TypeScript.

Bez ohledu na jazyk nabízí blok vždy totéž:

Vstupyvalue (pojmenovaný input), code (řetězec)
Výstupyresult
Konfiguracelanguage, code, timeout, packages
  • input — hodnota přijatá na vstupním portu.
  • varsproměnné běhu.
  • Standardní výstup daného jazyka (console.log, print, puts, cat, Console.WriteLine) plní log běhu.
  • Návratová hodnota odchází na port result. Chyba nebo překročení časového limitu odchází na port error.

timeout, v sekundách: 5 ve výchozím stavu, 60 nejvýše. Skript, který limit překročí, je přerušen a běh odchází na port error.

Pole packages přijímá seznam položek { name, version }. Přesné verze slouží jako klíč mezipaměti: závislosti se vyřeší při prvním běhu, uloží se do mezipaměti a při každém dalším běhu se připojí offline — včetně průběžné integrace.

JazykZdroj
TypeScript / JavaScriptnpm (vše se zabalí dohromady)
PythonBalíčky wheel v čistém Pythonu z PyPI
LuaLuaRocks (zdrojové kódy v čistém Lua)
RubyGemy v čistém Ruby
RCRAN, přes repozitář WebAssembly projektu WebR
C#Žádný — pouze standardní knihovna .NET

Řadu potřeb už pokrývají hotové bloky, které jsou čitelnější a rychlejší:

PotřebaBlok
Získat hodnotu z odpovědiSelektor propojení
Naformátovat řetězecTransform template
Filtrovat, řadit a agregovat seznamSeznamy
Hashovat, kódovat, podepisovatKódování
Zkontrolovat strukturuSchema validate

Blok Kód si nechte pro logiku, která je skutečně specifická.