- Ruby 初心者スレッド Part 59 [無断転載禁止]©2ch.net
970 :デフォルトの名無しさん[sage]:2017/04/18(火) 12:26:20.44 ID:ZXyqFz5f - class Test
def dice return rand(6) + 1 end def thrower(receive = nil , &block) if receive == nil block.call(self,block) else receive.call(self,receive) end end end Test.new().thrower{|a,b| ( a.dice < 4 ) ? a.thrower(b) : (p "saiki_owari") } #throwerメソッドの仮引数について質問 #最初のthrowerにブロックを与えた時は&blockで受け取れるんだけど、 #二回目以降はreceiveじゃないと受け取れない #これをなんとか&block一本で受け取れるようにならないでしょうか?
|