可能重复:
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特例,还是有理由为什么这样做呢?
ruby ×1