Nicholas Bastin wrote:
> No, actually it doesn't. The string returned by __repr__ should be
> able to be used to re-create the object, if that is possible. In
> this case, 'X: 0\nY: 0\nZ: 0\n' is a *lot* closer to re-creating the
> object than '<Foo object at 0x000000000000002B>' is. The second
> case is what gets returned when it isn't possible to re-create the
> object, but that obviously isn't the case in the example of
> DirectX.Vector3.
Well, according to the documentation it should look like a valid Python
expression (which "X: 0\nY: 0\nZ: 0\n" does not) and if that isn't possible
then it should be in the form of "<...useful information...>". I did get them
the wrong way around though, __repr__ is supposed to be information-rich
whereas __str__ is supposed to be concise / convenient.
The reason this bugs me is that trying to debug something that has a 2-page
ToString() output gets really messy.
--
Jonathan
When you meet a master swordsman,
show him your sword.
When you meet a man who is not a poet,
do not show him your poem.
-- Rinzai, ninth century Zen master
_______________________________________________
users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com