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=20
>> method name, that's all.
>=20
> Thanks for your reply Ryan... I'm surprised! So... are you saying that=20=

> the method calls
>=20
>         opts.parse!(argv)   and     opts.parse(argv)
>=20
> 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.