-> 06 { 10 / 13 }
ruby のイテレータで perl の $_ ライクな。
http://www.dogbiscuit.org/mdub/weblog/Tech/Programming/Ruby/MethodMissingMagic
見て。なるほどーすげぇぇぇえぇな。これで
p (0..10).to_a.delete_if( &_ % 2 == 0 ) #=> [1, 3, 5, 7, 9] p 'string'.split('').map( &_.succ ).join #=> "tusjoh"
とかできるよヤホー。method_missing で呼び出しのメッセージを que にいれてるのと、結合の優先順位をうまく利用している。リンク先見た方が仕組み知るの早いけど
delete_if( & ( _ % 2 == 0 ) )
ってなって
(_ % 2 == 0) #=> #<MessageBuffer:0x402ae9c4 @messages=[[:%, 2], [:==, 0]]>
が to_proc で proc になって渡ると。へぇぇぇぇ。
class MessageBuffer instance_methods.each do |m| undef_method m unless m =~ /^(__|respond_to|inspect)/ end def initialize @messages = [] end def method_missing(*message) @messages << message # record the message self # return self so we can keep recording end def __replay_all_messages__(obj) @messages.inject(obj) do |obj, message| obj.__send__(*message) end end def to_proc proc { |x| __replay_all_messages__(x) } end end module Kernel def _ MessageBuffer.new end end
babie2006/10/16 16:55牽制されてる気がしてならない>エロゲ公表
Lisa2011/07/03 04:59What an aemwsoe way to explain thisnow I know everything!
rqbnfflgfse2011/07/03 17:51kyWYIZ <a href="http://enrbonpgbmuf.com/">enrbonpgbmuf</a>
ogxmuoifjj2011/07/03 22:39BMeaQ1 , [url=http://sxopuivphzqd.com/]sxopuivphzqd[/url], [link=http://lhjaxipkwesq.com/]lhjaxipkwesq[/link], http://xcgariaidpna.com/
dephvgqpeu2011/07/05 17:22fIFfoV <a href="http://qfuvjnmbfpno.com/">qfuvjnmbfpno</a>