这个lambda发生了什么?有人可以解释一下

时间:2011-12-05 19:53:34

标签: ruby lambda proc-object

proc_obj = -> proto { print proto; puts("World")}

puts proc_obj["Hi"]

puts proc_obj.call("Hello") #Is this is the same as above

请参考我的一些链接揭开神秘面纱......

2 个答案:

答案 0 :(得分:1)

该lambda发生的事情是你正在调用它的[]方法,这会导致lambda用参数"Hi"执行。是的,调用call与调用[]相同。

答案 1 :(得分:0)