[IronPython] Duck typing / builders
Dino Viehland
dinov at exchange.microsoft.com
Wed Dec 13 21:38:14 CET 2006
Yes, IronPython is completely duck typed, but I'm not certain how your x.bar & x.foo ties into that.
It almost sounds like you want foo and bar to be properties. You can do that with:
class baz(object):
@property
def foo(self):
print "I've been called"
return 42
@property
def bar(self):
print "Me too!"
return 23
a = baz()
a.bar
which will print "Me too!" and return 23. You can then also do anything with this object from there, eg:
a.xyz = 23
Traditionally duck typing refers to "if it looks like a duck, and quacks like a duck, it's a duck". That's more like:
class balloon(object):
def blowup(self):
print 'inflating balloon'
class bomb(object):
def blowup(self):
print 'exploding'
def InflateIt(obj):
obj.blowup()
InflateIt(bomb())
Or
InflateIt(balloon())
Both call the blowup method disregarding the fact that blowing up a ballon and blowing up a bomb are two rather different concepts - but they both look like the same duck.
-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Hamilton Verissimo
Sent: Wednesday, December 13, 2006 11:19 AM
To: users at lists.ironpython.com
Subject: [IronPython] Duck typing / builders
Does IronPython support any form of duck typing? Ideally I want somethign like
x.foo
x.bar
And record this invocations to generate, well, other things.
Thanks
--
Cheers,
hamilton verissimo
hammett at castlestronghold.com
http://www.castlestronghold.com/
_______________________________________________
users mailing list
users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
More information about the Ironpython-users
mailing list