F. Senault
10/5/2006 7:31:00 PM
Le 5 octobre 2006 à 21:03, Rich Morin a écrit :
> opts = OptionParser.new do |opts|
> opts.banner = "Usage: example.rb [options]"
> ...
>
> It looks like the "opts" object is being handed to the block,
> as well as being returned as the result of the "new" method.
> Is this the case?
Not really. I'd say that example is badly written. The
OptionParser.new call can take a block, with one parameter. The name
between || is the name of that parameter, and is a variable local to the
block. I'd write something like this myself :
opts = OptionParser.new do |o|
o.banner = ...
...
end
(If the whole code is inside the block, you can even drop the first
assignment, too.)
> Is this a common way of doing things? Are
> there any caveats that must be observed in this situation?
I'm not good enough with the Ruby usages to reply here...
Fred
--
Sometimes everything is wrong. Now it's time to sing along. When your
day is night alone, (hold on, hold on) If you feel like letting go,
(hold on) When you think you've had too much of this life, well hang
on. (R.E.M., Everybody Hurts)