Перейти до вмісту

Код Ruby

Ruby виконується як CRuby, скомпільований у WebAssembly. Жодного Ruby на вашій машині не потрібно.

СимволРоль
$inputЗначення, отримане на вхідному порту, вже декодоване з JSON
$varsЗмінні запуску
putsПише до журналу виконання
Останній виразЙого значення вирушає на порт result, закодоване в JSON

Зверніть увагу на глобальні змінні ($input, $vars): це рубінова угода для того, що приходить іззовні скрипта.

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 }

Стандартна бібліотека Ruby доступна: json, digest, base64, time, uri, set

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

Поле packages приймає суто рубінові gem-и. Gem, що містить нативне розширення, відхиляється, і виконання йде на порт error.