* Aahz:
In article <mailman.2323.1265836683.28905.python-l...@python.org>,
Steve Holden  <st...@holdenweb.com> wrote:
Whether in CPython, Jython or IronPython the value returned by calling
id(x) (whether x is a literal, a simple name or a more complex
expression) is absolutely no use as an accessor: it does not give you
access to the referenced value.

If you disagree, please write (in any implementation you like: it need
not even be portable, though I can't imagine why ti wouldn't be) a
Python function which takes an id() value as its argument and returns
the value for which the id() value was provided.

IIRC, I've seen ctypes code that uses id() to get access to the object,

Dino Viehland gave this code:

<quote author="Dino Viehland">
Just for fun this works in IronPython 2.6:

>>> >>> import clr
>>> >>> clr.AddReference('Microsoft.Dynamic')
>>> >>> from Microsoft.Scripting.Runtime import IdDispenser
>>> >>> x = object()
>>> >>> id(x)
43
>>> >>> IdDispenser.GetObject(43)
<object object at 0x000000000000002B>
>>> >>> IdDispenser.GetObject(43) is x
True
</quote>



but (obviously) I don't think that invalidates your point[er].

For my part I didn't think the above would be possible without enumerating all objects. I'm guessing that Steve didn't think so either. However, I seriously doubt that an agreement with my earlier statements of that was his point, considering the "if" above, which seems to imply to the reader that instead I'd argued what he's challenging.

Perhaps Steve was just confused.

My original statement, with reference to the Java language spec, didn't say much more about the language than that it has assignable references.

It took a long time to get the wild horses reined in in that direction.

But then two others ended up arguing that Python does not have references, with one of them maintaining that "refers to" in the language spec does not mean "refers to", but instead means "refers to", so I'm guessing it's religious, yes?


Cheers,

- Alf
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to