`

总是看到returning,这到底是个什么东东,查了一下找到了源代码

    博客分类:
  • RoR
阅读更多

A Ruby-ized realization of the K combinator, courtesy of Mikael Brockman.

ruby 代码
  1. def foo   
  2.   returning values = [] do  
  3.     values << 'bar'   
  4.     values << 'baz'   
  5.   end  
  6. end  
  7.   
  8. foo # => ['bar', 'baz']   
  9.   
  10. def foo   
  11.   returning [] do |values|   
  12.     values << 'bar'   
  13.     values << 'baz'   
  14.   end  
  15. end  
  16.   
  17. foo # => ['bar', 'baz']   
# File vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb, line 22
ruby 代码
  1. 22:   def returning(value)   
  2. 23:     yield(value)   
  3. 24:     value   
  4. 25:   end  
实际上就是把一个value放到一个block中做处理,处理完毕之后返回,就这么简单
分享到:
评论
3 楼 yangzhihuan 2008-10-10  
不好意思,鼠标坏掉了,单击变成了双击.
2 楼 yangzhihuan 2008-10-10  
原来就是这么简单,一直没留意rutruning这个家伙.
1 楼 yangzhihuan 2008-10-10  
原来就是这么简单,一直没留意rutruning这个家伙.

相关推荐

Global site tag (gtag.js) - Google Analytics