Хешове и keyword аргументи на блокове
Ако обхождате списък с хешове, Ruby позволява да използвате хешовете като keyword аргументи на подадения при обхождането блок.
Например:
array_of_arguments = [
{foo: 42, bar: "larodi"},
{foo: "oh"},
]
array_of_arguments.each do |foo:, bar: "default"|
puts "foo: #{foo} bar: #{bar}"
end
Горното ще изведе следното на екрана:
foo: 42 bar: larodi
foo: oh bar: default
Ако в хеша има ключове, които не са описани като keyword аргументи в блока, ще се получи грешка.