The array accessor [] does not quite duplicate what eval() used to. From 
my recollection you could actually run code with eval, which of course 
is impossible to do with []. I know there's a way to do code injection 
in AS3, but I don't remember the tecnique offhand.

The interesting thing about [] of course is that AS3 can do 
two-dimensional "arrays," and you can "chain" two array accessors 
together to make both the object and its property dynamic, like so:

this.someInstance.someProperty
==
this["myObject"]["daProp"]

Which makes things very interesting. Of course this only works if the 
property exists or the class is dynamic.

A for loop and the [] syntax is much lower level and much more efficient 
than a repeater, but of course a repeater is bindable and has other 
useful stuff.


_______________________________________________________________

Joseph Balderson, Developer | http://joeflash.ca | 705-466-6345


Josh McDonald wrote:
> No worries, the equivalent of
> 
> eval("movie_number_" + idNumber);
> 
> would be:
> 
> this["movie_number_" + idNumber];
> 
> To explain, in actionscript 3 (and in Javascript), these two references 
> are equivalent:
> 
> this.someField = true;
> this["someField"] = true;
> 
> trace("the value is " + anObject.button7);
> trace("the value is " + anObject["button7"]);
> 
> Notice the fact that it's a string. You can also use numbers (this is 
> how arrays work), and other objects, but with objects the runtime simply 
> calls .toString() and then goes ahead with the string, IIRC.
> 
> -Josh
> 
> On Thu, Jun 19, 2008 at 9:20 PM, David Pariente <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
>     Thnx for the psicological help :)
> 
>     Tecnically i come from AS1 and AS2 where i used to create multiple
>     copies of movieclips, and created with a name as:
> 
>     eval("movie_number_"+idnumber);
> 
>     maybe i should need an easy example of how to create multiple
>     objects dinamically, and most important, how to access them later.
> 
>     Thnx, u guys are kind ;)
> 
>     ----- Mensaje original ----
>     De: Josh McDonald <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>     Para: [email protected] <mailto:[email protected]>
>     Enviado: martes, 17 de junio, 2008 0:50:17
>     Asunto: Re: [flexcoders] Re: string to actual actionscript code?
> 
>     Gordon,
> 
>     I can live without eval() and associated evilness, but I'd sell my
>     left testicle for the ability to mark a Proxy as extending or
>     implementing various classes or interfaces.
> 
>     Mario - As for this sort of pseudo-eval that theyou're after, you
>     could definitely cook up something similar to that without *too
>     much* work, but I don't think it's the correct solution to whatever
>     the actual root problem is. We need more information as to context
>     to be more help :)
> 
>     -Josh
> 
>     On Tue, Jun 17, 2008 at 4:27 AM, Gordon Smith <[EMAIL PROTECTED] com
>     <mailto:[EMAIL PROTECTED]>> wrote:
> 
>         Why are you lost without eval()? What would you use it to do?
>         Many developers think they need it when they really don't; there
>         are often other ways to accomplish what they're trying to do.
> 
>          
> 
>         Gordon Smith
> 
>         Adobe Flex SDK Team
> 
>          
> 
>         
> ------------------------------------------------------------------------
> 
>         *From:* [EMAIL PROTECTED] ups.com
>         <mailto:[email protected]> [mailto:[EMAIL PROTECTED]
>         ups.com <mailto:[email protected]>] *On Behalf Of
>         *David Pariente
> 
>         *Sent:* Monday, June 16, 2008 7:35 AM
>         *To:* [EMAIL PROTECTED] ups.com
>         <mailto:[email protected]>
> 
>         *Subject:* Re: [flexcoders] Re: string to actual actionscript code?
> 
>          
> 
>         They answer u about eval() cause that was what eval() was for. I
>         used it so often in AS1 and AS2. Lost now in AS3 without it :(
> 
>         ----- Mensaje original ----
>         De: mariovandeneynde <mariovandeneynde@ yahoo.com
>         <mailto:[EMAIL PROTECTED]>>
>         Para: [EMAIL PROTECTED] ups.com
>         <mailto:[email protected]>
> 
>         Enviado: lunes, 16 de junio, 2008 12:08:26
>         Asunto: [flexcoders] Re: string to actual actionscript code?
> 
>         No, I'm just wondering if there is a way to convert a string to
>         actual
>         actionscriptcode. ..
> 
>         --- In [EMAIL PROTECTED] ups.com
>         <mailto:flexcoders%40yahoogroups.com>, "Michael Schmalle"
>         <teoti.graphix@ ...> wrote:
>         >
>         >  Hi,
>         >
>         >  There is no eval() in actionscript if that is what you are
>         wondering.
>         >
>         >  Mike
>         >
>         >  On Mon, Jun 16, 2008 at 5:33 AM, mariovandeneynde <
>         >  mariovandeneynde@ ...> wrote:
>         >
>         >  > Greetings,
>         >  >
>         >  > I was wondering if the following situation would be possible:
>         >  >
>         >  > imagine having a string like
>         >  >
>         >  > var query:String = "Object.property. toString( ) ==
>         somevalue.toString( )";
>         >  >
>         >  > and that the string somehow could be converted to actual
>         actionscript
>         >  > code...
>         >  >
>         >  > if(query){
>         >  > trace("your actionscriptquery worked");
>         >  > }
>         >  > else{
>         >  > trace("your actionscriptquery did not worked");
>         >  > }
>         >  >
>         >  >
>         >  >
>         >
>         >
>         >
>         >  --
>         >  Teoti Graphix, LLC
>         >  http://www.teotigra phix.com <http://www.teotigraphix.com>
>         >
>         >  Teoti Graphix Blog
>         >  http://www.blog. teotigraphix. com
>         <http://www.blog.teotigraphix.com>
>         >
>         >  You can find more by solving the problem then by 'asking the
>         question'.
>         >
> 
>          
> 
>         
> ------------------------------------------------------------------------
> 
> 
>         Enviado desde Correo Yahoo!
>         
> <http://us.rd.yahoo.com/mailuk/taglines/isp/control/*http:/us.rd.yahoo.com/evt=52431/*http:/es.docs.yahoo.com/mail/overview/index.html>
>         La bandeja de entrada más inteligente.
> 
> 
> 
> 
>     -- 
>     "Therefore, send not to know For whom the bell tolls. It tolls for
>     thee."
> 
>     :: Josh 'G-Funk' McDonald
>     :: 0437 221 380 :: [EMAIL PROTECTED] com <mailto:[EMAIL PROTECTED]>
> 
>     ------------------------------------------------------------------------
> 
>     Enviado desde Correo Yahoo!
>     
> <http://us.rd.yahoo.com/mailuk/taglines/isp/control/*http://us.rd.yahoo.com/evt=52431/*http://es.docs.yahoo.com/mail/overview/index.html>
>     La bandeja de entrada más inteligente.
> 
> 
> 
> 
> -- 
> "Therefore, send not to know For whom the bell tolls. It tolls for thee."
> 
> :: Josh 'G-Funk' McDonald
> :: 0437 221 380 :: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 

Reply via email to