RE: [flexcoders] eval() function removed in AS 3.0 ??

2006-12-11 Thread Tracy Spratt
Actually, eval() in AS has never been a full eval like in Javascript.  I
has only been able to evaluate a reference to an object.

The direct replacement(was in AS2 as well) is bracket notation, which
is actually more powerful than eval, because it can be used on the left
side of an assignment as well as on the right.

If befor you had:
var oMyObject:Obect = eval(myString + myVar);

Change it to:
var oMyObject:Object = this[myString + myVar].

Tracy

-Original Message-
From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of {reduxdj}
Sent: Saturday, December 09, 2006 4:05 PM
To: flexcoders@yahoogroups.com
Subject: Re: [flexcoders] eval() function removed in AS 3.0 ??


from an earlier post about this topic:

You need to roll it on your own. You could split the given path into
its parts and try to evaluate one piece after the other until you come
to the end.

public function eval( scope : Object, path : String ) : Object
{
   if( path == null ) return null;

   var result : Object = scope;
   var parts : Array = path.split('.');
   while( result != null  parts.length  0 )
   {
 var part : String = parts.shift();
 result = result[ part ];
   }
   return result;
}

Untested code, but hopefully you get the point. Maybe you need to add
some exception handling, when you try to access non existing
properties.

Cheers,

Ralf,











pdflibpilot wrote:

 According to the documentation eval() has been removed as function -
 is there an alternative ? I really would like to use this function.

  




--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives:
http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links







Re: [flexcoders] eval() function removed in AS 3.0 ??

2006-12-11 Thread Ben Marchbanks
Thanks Tracy - you are the man - I would never 
have figured that one out !

Works like a charm..


Tracy Spratt wrote:
 Actually, eval() in AS has never been a full eval like in Javascript.  I
 has only been able to evaluate a reference to an object.
 
 The direct replacement(was in AS2 as well) is bracket notation, which
 is actually more powerful than eval, because it can be used on the left
 side of an assignment as well as on the right.
 
 If befor you had:
 var oMyObject:Obect = eval(myString + myVar);
 
 Change it to:
 var oMyObject:Object = this[myString + myVar].
 
 Tracy
 
 -Original Message-
 From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
 Behalf Of {reduxdj}
 Sent: Saturday, December 09, 2006 4:05 PM
 To: flexcoders@yahoogroups.com
 Subject: Re: [flexcoders] eval() function removed in AS 3.0 ??
 
 
 from an earlier post about this topic:
 
 You need to roll it on your own. You could split the given path into
 its parts and try to evaluate one piece after the other until you come
 to the end.
 
 public function eval( scope : Object, path : String ) : Object
 {
if( path == null ) return null;
 
var result : Object = scope;
var parts : Array = path.split('.');
while( result != null  parts.length  0 )
{
  var part : String = parts.shift();
  result = result[ part ];
}
return result;
 }
 
 Untested code, but hopefully you get the point. Maybe you need to add
 some exception handling, when you try to access non existing
 properties.
 
 Cheers,
 
 Ralf,
 
 
 
 
 
 
 
 
 
 
 
 pdflibpilot wrote:
 According to the documentation eval() has been removed as function -
 is there an alternative ? I really would like to use this function.

  
 
 
 
 
 --
 Flexcoders Mailing List
 FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
 Search Archives:
 http://www.mail-archive.com/flexcoders%40yahoogroups.com 
 Yahoo! Groups Links
 
 
 
 
 
 


[flexcoders] eval() function removed in AS 3.0 ??

2006-12-09 Thread pdflibpilot
According to the documentation eval() has been removed as function -
is there an alternative ? I really would like to use this function.



Re: [flexcoders] eval() function removed in AS 3.0 ??

2006-12-09 Thread {reduxdj}

from an earlier post about this topic:

You need to roll it on your own. You could split the given path into
its parts and try to evaluate one piece after the other until you come
to the end.

public function eval( scope : Object, path : String ) : Object
{
   if( path == null ) return null;

   var result : Object = scope;
   var parts : Array = path.split('.');
   while( result != null  parts.length  0 )
   {
 var part : String = parts.shift();
 result = result[ part ];
   }
   return result;
}

Untested code, but hopefully you get the point. Maybe you need to add
some exception handling, when you try to access non existing
properties.

Cheers,

Ralf,











pdflibpilot wrote:

 According to the documentation eval() has been removed as function -
 is there an alternative ? I really would like to use this function.

  




--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* Your email settings:
Individual Email | Traditional

* To change settings online go to:
http://groups.yahoo.com/group/flexcoders/join
(Yahoo! ID required)

* To change settings via email:
mailto:[EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/