On 30 Jul 2009, at 19:01 , Inky 788 wrote:
On Jul 30, 12:04 am, alex23 <wuwe...@gmail.com> wrote:
On Jul 30, 1:06 pm, r <rt8...@gmail.com> wrote:
1.) No need to use "()" to call a function with no arguments.
Python --> "obj.m2().m3()" --ugly
Ruby --> "obj.m1.m2.m3" -- sweeet!
Man, i must admit i really like this, and your code will look so
much
cleaner.
How do you distinguish between calling a method with no arguments,
and
getting access to the method object itself (because it _is_ an
object,
y'know, it's OO all the way down...)?
I agree with alex here. Will take the explicit syntax over the extra
cognitive load of figuring out exactly what's going on with
`obj.m1.m2.m3`.
There's no cognitive load whatsoever: it's calling methods. Always.
Ruby simply gives you no other option. Now it could be very simple
methods to instance attributes, akin to a java getter, but it's still
only methods.
Furthermore Ruby has a pretty nice convention (sadly not used enough I
think) taken from Scheme where it's possible to postfix a method name
with "!" (note: the "!" is part of the name, there's no magic) to
indicate that this method modifies the object it's called on rather
than simply returning stuff.
--
http://mail.python.org/mailman/listinfo/python-list