Kod Ruby
Ruby wykonuje się jako CRuby skompilowany do WebAssembly. Na komputerze użytkownika nie jest wymagany żaden Ruby.
| Symbol | Rola |
|---|---|
$input | Wartość odebrana na porcie wejściowym, już zdekodowana z JSON |
$vars | Zmienne uruchomienia |
puts | Zapisuje w dzienniku wykonania |
| Ostatnie wyrażenie | Jego wartość trafia na port result, zakodowana w JSON |
Warto zwrócić uwagę na zmienne globalne ($input, $vars): taka jest
konwencja Ruby dla tego, co przychodzi z zewnątrz skryptu.
Przykład
Section titled “Przykład”commandes = $input["commandes"]
payees = commandes.select { |c| c["statut"] == "payee" }total = payees.sum { |c| c["montant"] }
puts "#{payees.size} commandes payées, total #{total} €"
{ "nombre" => payees.size, "total" => total }Biblioteka standardowa
Section titled “Biblioteka standardowa”Biblioteka standardowa Ruby jest dostępna: json, digest, base64, time,
uri, set…
require "digest"
{ "empreinte" => Digest::SHA256.hexdigest($input["corps"]) }Pakiety zewnętrzne
Section titled “Pakiety zewnętrzne”Pole packages przyjmuje gemy w czystym Ruby. Gem zawierający rozszerzenie
natywne zostaje odrzucony, a wykonanie trafia na port error.