我有一个简单的数组:
arr = ["apples", "bananas", "coconuts", "watermelons"]
Run Code Online (Sandbox Code Playgroud)
我还有一个函数f
,它将对单个字符串输入执行操作并返回一个值.这个操作非常昂贵,所以我想在hash中记住结果.
我知道我可以用这样的东西制作所需的哈希:
h = {}
arr.each { |a| h[a] = f(a) }
Run Code Online (Sandbox Code Playgroud)
我想做的是不必初始化h,这样我就可以这样写:
h = arr.(???) { |a| a => f(a) }
Run Code Online (Sandbox Code Playgroud)
可以这样做吗?