标签: ruby
class Array def new_map!(&block) self.replace( self.map(&block) ) end end
这里的自我指的是什么?如何以简单的外行人的方式传递一个块?一个具体的例子会有所帮助。
答案 0 :(得分:0)
self指的是new_map!方法的接收者。传递块时,它会变为Proc并绑定到block变量。然后,表达式self.map(&block)将该proc作为块发送到map调用。
self
new_map!
Proc
block
self.map(&block)
map