可能重复:
map(&:name)在Ruby中意味着什么?
在Ruby中,我知道如果我这样做:
some_objects.each(&:foo)
Run Code Online (Sandbox Code Playgroud)
它是一样的
some_objects.each { |obj| obj.foo }
Run Code Online (Sandbox Code Playgroud)
也就是说,&:foo
创建块{ |obj| obj.foo }
,将其转换为Proc,并将其传递给每个块.为什么这样做?它只是一个Ruby特例,还是有理由为什么这样做呢?
这是我的阵列:
array = [:one,:two,:three]
Run Code Online (Sandbox Code Playgroud)
我想将to_s
方法应用于我的所有数组元素array = ['one','two','three']
.
我该怎么做(将可枚举的每个元素转换为其他元素)?