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

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中做处理,处理完毕之后返回,就这么简单

你可能感兴趣的:(html,ext,Ruby,Rails)