From: Robert Dober Date: 2008-11-28T19:59:31+09:00 Subject: Re: Noob: Code review my first tutorial homework assignment? On Fri, Nov 28, 2008 at 4:29 AM, Brian A. wrote: > Robert Dober wrote: Better, but there is still two yields in your method, one with one parameter one with three. If this is really needed I would rather declare the block with variable arguments look at this 514/15 > irb irb(main):001:0> def a( *args, &blk) irb(main):002:1> blk.call( *args ) irb(main):003:1> end => nil irb(main):004:0> myblock = proc{ |*args| case irb(main):005:2* when args.empty? irb(main):006:2> puts "empty" irb(main):007:2> when args.size==1 irb(main):008:2> puts args.first irb(main):009:2> else irb(main):010:2* p args irb(main):011:2> end irb(main):012:1> } => # irb(main):013:0> a &myblock empty => nil irb(main):014:0> a 1, &myblock 1 => nil irb(main):015:0> a 42, 222, 22, &myblock [42, 222, 22] => nil irb(main):016:0> -- Ne baisse jamais la tête, tu ne verrais plus les étoiles. Robert Dober ;)