On Nov 16, 2009, at 23:04 , Michelle Pace wrote:

> Ryan Davis wrote:
>> it is just an argument list. nothing fancy. "!" is valid as part of the 
>> method name, that's all.
> 
> Thanks for your reply Ryan... I'm surprised! So... are you saying that he method calls
> 
>         opts.parse!(argv)   and     opts.parse(argv)
> 
> effectively do the same thing?

Are they both plain happy method calls? Yes. If by "do the same thing" you mean call the same method, then no.

They are both equivalent to:

  opts.send(:parse!, argv)

and

  opts.send(:parse, argv)

respectively.