Re: Back to Dynamic Records (Was: Re: interesting discovery (trying to get record labels as strings))
Re: Back to Dynamic Records (Was: Re: interesting discovery (trying to get record labels as strings))
- Subject: Re: Back to Dynamic Records (Was: Re: interesting discovery (trying to get record labels as strings))
- From: "Neal A. Crocker" <email@hidden>
- Date: Mon, 3 Dec 2001 22:08:47 -0800
On Monday, December 3, 2001, at 01:40 PM, Neal A. Crocker wrote:
the result of {{hello:"goodbye"}} as string ... is a bug, according
to Chris Nebel. The fact that it can be made into a record was
pointed out by Victor Yee and is probably a related bug. As Chris
pointed out, the first bug will be eliminated (drat! this "bug" is
very useful...) and the second bug (assuming its actually a bug)
will probably be eliminated as well (again drat! manipulation of
raw data in a string which can then be converted to a record is
very useful), so the trick of constructing a record from strings
using "{{+class usrf;:{"hello", "goodbye"}}} as string as record"
will break down in some future version of Applescript.
If it's any consolation, I'll try to not fix the bug before
introducing a sane way to do the same thing. I understand the
desire, but the current method gives me the willies.
It would be nice if any object could be converted to and from a
record. This would enable "generic" or "meta" programming in
Applescript such as is possible in javascript, perl, various shell
scripting languages, etc. For instance, it would be nice if a script
could easily construct a reference to a property by using a string
containing its name (as is frequently discussed on this list). It
would also be nice if, for instance, an event could be constructed by
an exectuing script as a record and then sent. (I've wanted a
capability like this from time to time, although I can't remember why
right now..) I believe there is already an osax that provides this
capability (Akua Sweets?), but I'd much prefer to have such powers
built coherently into vanilla applescript rather than grafted on by a
hodge-podge of language extensions.
--Chris Nebel
AppleScript Engineering
Thanks,
Neal