kind of like you can't do this


public function clearTargetData(x:string):void{}

public function clearTargetData():void{}



which most support also, but I give Adobe the benefit of the doubt this is a
completely new flex, built from the ground up, and they have done a bang up
job.

I can do with out these things, perhaps they'll implement this type of stuff
in a later version.

jason



  -----Message d'origine-----
  De : [email protected] [mailto:[EMAIL PROTECTED] la
part de sbyrne_dorado
  Envoyé : jeudi 11 janvier 2007 10:09
  À : [email protected]
  Objet : [flexcoders] Lexical scoping of variable declarations not working?


  I'm seeing some odd behavior with the AS3 compiler. I say it's "odd"
  because it's at variance with the vast majority of C language
  derivatives (in fact, I'll go out on a limb and say ALL of them). The
  behavior I'm seeing is this:

  If I have

  package {
  public class badscope {

  public function dummy() : void {
  if (new Date() != null) {
  var foo : Number = 3;
  } else {
  var foo : Number = 4;
  }
  }

  }
  }

  the cmopiler is telling me that "foo" is a duplicate declaration. Um.
  Every other block structured language I'm familiar with scopes local
  variable declaration to the enclosing block, so the foo's do not exist
  in the same lexical scope and there is no conflict. To me, if this
  behavior of placing all variable declarations in the top level
  function's scope is in fact the desired behavior, it's a HUGE step
  backwards.

  Please help me to understand why I'm seeing the behavior I am, and why
  it's not breaking lexical scoping rules common to C derivatives.



  

Reply via email to