ruby的lambda

简介: irb(main):012:0> def n_times(thing)irb(main):013:1>    return lambda {|n| thing * n}irb(main):014:1> end=> nilirb(main):015:0> p1=n_times(23)=> #irb(main):016:0> p1.

irb(main):012:0> def n_times(thing)
irb(main):013:1>    return lambda {|n| thing * n}
irb(main):014:1> end
=> nil
irb(main):015:0> p1=n_times(23)
=> #<Proc:0xb77281f4@(irb):13>
irb(main):016:0> p1.call(3)
=> 69
irb(main):017:0> p1.call(4)
=> 92
irb(main):018:0> p2=n_times("Hello ")
=> #<Proc:0xb77281f4@(irb):13>
irb(main):019:0> p2.call(3)
=> "Hello Hello Hello "
irb(main):020:0>

相关文章
|
Ruby
浅谈Ruby中的block, proc, lambda, method object的区别
浅谈Ruby中的block, proc, lambda, method object的区别
84 0
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
JSON 数据格式 Ruby
|
6月前
|
调度 Ruby
|
6月前
|
存储 JSON 数据格式
|
6月前
|
Ruby
|
6月前
|
Ruby