Ruby 1.9的lambda新语法

l1 = lambda{print "l1"}
l1 = lambda{print "l1"}
l1.call # l1

l2 = lambda{|n| print "l#{n}"}
l2.call(2) # l2

l3 = ->{print "l3"} # 
l3.call # l3

l4 = ->(n){print "l#{n}"}
l4.call(4) # l4

l5 = ->(){print "l5"}
l5.call # l5

def m(&b)
  yield
end

def mn(&b)
  yield 123
end

m(&l1) # l1
m(&l3) # l3
m(&l5) # l5

mn(&l2) # l123
mn(&l4) # l123

Ruby 1.9引入的lambda新语法如下:

->(param){expression}

没有参数时,括号可以省略,也可以用空的括号,就像上面的例子中“l5”展示的那样。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值