Flash / Flex / ActionScript/Language/Conditional operator

Материал из Web эксперт
Перейти к: навигация, поиск

The Conditional Operator: (logical expression) ? if true : if false;

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var weather:String = "rain";
       
       (weather == "hail") ? trace("bringMotorcycleHelmet") : trace("bringStrawHat");
       //This is basically the same as writing:
       if (weather == "hail") {
          trace("bringMotorcycleHelmet");
       } else {
          trace("bringStrawHat");
       }
   }
 }

}

       </source>
   
  


Use conditional operator in for loop

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       for (var i:Number = 50; i > -50; i -= (i > 0 || i < -30) ? 5 : 10){
         trace(i);
       }
   }
 }

} 50 45 40 35 30 25 20 15 10 5 0 -10 -20 -30 -40 -45

       </source>
   
  


Use conditional operator to set a default value for an undefined variable

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var weather:String;
       
       weather = weather ? weather : "partly cloudy";
       
       trace(weather);
   }
 }

}

       </source>
   
  


You can also use the conditional operator to return values that can be stored in a variable.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var weather:String = "rain";
       
       var hatType:String = (weather == "hail") ? "helmet" : "straw";
       
       trace(hatType);
   }
 }

}

       </source>