RailsのreturningってObject#tapじゃないか!
http://d.hatena.ne.jp/takihiro/20080701/1214919182
# A Ruby-ized realization of the K combinator, courtesy of Mikael Brockman. # # def foo # returning values = [] do # values << 'bar' # values << 'baz' # end # end # # foo # => ['bar', 'baz'] # # def foo # returning [] do |values| # values << 'bar' # values << 'baz' # end # end # # foo # => ['bar', 'baz'] # def returning(value) yield(value) value end
returningってもろRuby 1.8.7で使えるようになったObject#tapじゃないか!
Object#tapは説明読むよりもソース読んだほうがはるかにわかりやすい典型例。
tapかわいいよtap - http://rubikitch.com/に移転しました
Ruby 1.8.7で使えるようになったRuby 1.9のメソッドたち - http://rubikitch.com/に移転しました
String#gsubでエラー?
String#gsub() #=> Enumerable::Enumeratorになるケースってブロックなしで、引数がひとつの場合では?その場合以前ならエラーになるし。
require 'rubygems' gem 'activesupport', '= 2.0.2' require 'active_support' RUBY_VERSION # => "1.8.7" "hoge_boke".camelize # => "HogeBoke"