Ruby中的|XXX|意义

Python013

Ruby中的|XXX|意义,第1张

在 ruby 中,{|args| statements} 叫做 匿名函数就是没有名字的小型函数。然后 each_byte 是一个方法,它接收一个可调用对象。

有时候左花括号可以用 do 代替,有花括号用 end 代替,就是

do |args|

statements

end

这种形式。

Ruby中的block(lambda/proc),就是匿名函数,取自于函数式语言lisp,而这个匿名函数在Ruby中是一等公民。

实际上Ruby中每个方法在执行的时候,不管你有没有传递匿名函数,在Ruby内部,都会自动检测有没有传递块,实际上,这个块,也就是匿名函数,就是Ruby中方法的隐形参数。