Flash / Flex / ActionScript/Language/Conditional operator
Содержание
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>