Код Ruby
Ruby виконується як CRuby, скомпільований у WebAssembly. Жодного Ruby на вашій машині не потрібно.
| Символ | Роль |
|---|---|
$input | Значення, отримане на вхідному порту, вже декодоване з JSON |
$vars | Змінні запуску |
puts | Пише до журналу виконання |
| Останній вираз | Його значення вирушає на порт result, закодоване в JSON |
Зверніть увагу на глобальні змінні ($input, $vars): це рубінова угода
для того, що приходить іззовні скрипта.
Приклад
Section titled “Приклад”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 }Стандартна бібліотека
Section titled “Стандартна бібліотека”Стандартна бібліотека Ruby доступна: json, digest, base64, time, uri,
set…
require "digest"
{ "empreinte" => Digest::SHA256.hexdigest($input["corps"]) }Зовнішні пакети
Section titled “Зовнішні пакети”Поле packages приймає суто рубінові gem-и. Gem, що містить нативне
розширення, відхиляється, і виконання йде на порт error.