Codice Ruby
Ruby si esegue come CRuby compilato in WebAssembly. Non è richiesto nessun Ruby sulla macchina.
| Simbolo | Ruolo |
|---|---|
$input | Il valore ricevuto sulla porta di input, già decodificato da JSON |
$vars | Le variabili di run |
puts | Scrive nel log dell’esecuzione |
| L’ultima espressione | Il suo valore parte sulla porta result, codificato in JSON |
Si noti l’uso delle variabili globali ($input, $vars): è la convenzione
Ruby per ciò che proviene dall’esterno dello script.
Esempio
Section titled “Esempio”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 }Libreria standard
Section titled “Libreria standard”La libreria standard di Ruby è disponibile: json, digest, base64,
time, uri, set…
require "digest"
{ "empreinte" => Digest::SHA256.hexdigest($input["corps"]) }Pacchetti esterni
Section titled “Pacchetti esterni”Il campo packages accetta gem puramente Ruby. Una gem che contiene
un’estensione nativa viene rifiutata e l’esecuzione parte sulla porta error.