Přeskočit na obsah

Kód Ruby

Ruby běží jako CRuby zkompilované do WebAssembly. Na vašem počítači není potřeba žádné Ruby.

SymbolRole
$inputHodnota přijatá na vstupním portu, už dekódovaná z JSON
$varsProměnné běhu
putsZapisuje do logu běhu
Poslední výrazJeho hodnota odchází na port result, zakódovaná do JSON

Všimněte si globálních proměnných ($input, $vars): to je v Ruby zvyklost pro vše, co přichází zvenčí skriptu.

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 }

Standardní knihovna Ruby je k dispozici: json, digest, base64, time, uri, set

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

Pole packages přijímá gemy v čistém Ruby. Gem, který obsahuje nativní rozšíření, je odmítnut a běh odchází na port error.