Хешове и 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 аргументи в блока, ще се получи грешка.