UserLinux chooses Python as "interpretive language" of choice

John Roth newsgroups at jhrothjr.com
Sat Dec 20 06:38:20 EST 2003


"Bengt Richter" <bokr at oz.net> wrote in message
news:bs0amc$hsl$0 at 216.39.172.122...
> On Fri, 19 Dec 2003 20:22:38 -0500, "John Roth" <newsgroups at jhrothjr.com>
wrote:
>
> >
> >"Steve Lamb" <grey at despair.dmiyu.org> wrote in message
> >news:slrnbu77jp.nh8.grey at dmiyu.org...
> >> On 2003-12-20, John Roth <newsgroups at jhrothjr.com> wrote:
> >> > a third is the ability to forget the empty parenthesis after
> >> > a function/method call that doesn't require parameters.
> >>
> >> class ThisIs:
> >>     avariable = 'a'
> >>     def amethod(self):
> >>         return 'b'
> >>
> >> thisis = ThisIs()
> >> print thisis.avariable
> >> print thisis.amethod()
> >> import this
> >> print "Read line 2."
> >
> >I'm not sure what your point is. Your example isn't going
> >to produce the expected result if you say:
> >
> >print thisis.amethod
> >
> >instead of
> >
> >print thisis.amethod()
> >
> >That is the place where I find Ruby syntax to be
> >helpful: the amount of time where I want the method /
> >function object is *far* lower than the amount of
> >time I want to call it. It's one of those conundrums
> >that doesn't seem to have a clean answer, though.
> >
> Ok, for line 2, run this ;-)
>
> class ThisIs:
>     avariable = 'a'
>     def amethod(self):
>         return 'b'
>     def silly(self):
>         return 'heh'
>     silly = property(silly)
>
> thisis = ThisIs()
> print thisis.avariable
> print thisis.amethod()
> print thisis.silly
> import sys
> class L2(list):
>     def write(self, s): self.append(s)
> sys.stdout = L2()
> import this
> L2 = ''.join(sys.stdout).splitlines()[2]
> sys.stdout = sys.__stdout__
> print "Read line 2."
> print '... which is:', L2
>
> Regards,
> Bengt Richter

I think you're missing the point I was trying to make.
Sure, you can use a property to not have to put
in the explicit function call, but then you can't put
in the explicit function call *anywhere* you use that
property.

Ruby syntax makes it *optional*. That's what is
missing here.

John Roth






More information about the Python-list mailing list