Aller au contenu

Ruby kod

Ruby se izvršava kao CRuby kompajliran u WebAssembly. Na vašoj mašini nije potreban nikakav Ruby.

SimbolUloga
$inputVrednost primljena na ulaznom portu, već dekodirana iz JSON-a
$varsPromenljive izvršavanja
putsPiše u zapis izvršavanja
Poslednji izrazNjegova vrednost odlazi na port result, kodirana u JSON

Obratite pažnju na globalne promenljive ($input, $vars): to je Ruby konvencija za ono što dolazi izvan skripte.

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 }

Dostupna je Ruby standardna biblioteka: json, digest, base64, time, uri, set

require "digest"
{ "empreinte" => Digest::SHA256.hexdigest($input["corps"]) }

Polje packages prihvata čisto Ruby gem pakete. Gem koji sadrži nativno proširenje se odbija, a izvršavanje odlazi na port error.