У меня есть простой массив:
arr = ["apples", "bananas", "coconuts", "watermelons"]
У меня также есть функция f
, которая будет выполнять операцию с одним строковым вводом и возвращать значение. Эта операция очень дорогая, поэтому я хотел бы запомнить результаты в хеше.
Я знаю, что могу сделать желаемый хеш с чем-то вроде этого:
h = {}
arr.each { |a| h[a] = f(a) }
То, что я хотел бы сделать, это не инициализировать h, так что я могу просто написать что-то вроде этого:
h = arr.(???) { |a| a => f(a) }
Можно ли это сделать?