タグ: モバイル編集 モバイルウェブ編集
編集の要約なし
 
(同じ利用者による、間の9版が非表示)
1行目: 1行目:
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/general/expression/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}}
[[Category:基本]]
[[Category:基本]]
式は、AliceScriptにおけるもっとも重要かつ基本的な要素です。AliceScriptにおいて、ほとんどのものは式で記述されます。ここでは式を値があるものすべてと定義します。
式は、AliceScriptにおけるもっとも重要かつ基本的な要素です。AliceScriptにおいて、ほとんどのものは式で記述されます。ここでは式を値があるものすべてと定義します。
32行目: 34行目:
  print(++x); //出力:3
  print(++x); //出力:3
===デクリメント演算子===
===デクリメント演算子===
単項デクリメント演算子<code>—</code>は変数を一つずつデクリメントします。デクリメントとは、その値から1を減算することを指します。デクリメント演算子には後置デクリメント演算子<code>x++</code>と前置デクリメント演算子<code>++x</code>があります。
単項デクリメント演算子<code>—-</code>は変数を一つずつデクリメントします。デクリメントとは、その値から1を減算することを指します。デクリメント演算子には後置デクリメント演算子<code>x++</code>と前置デクリメント演算子<code>++x</code>があります。
====後置デクリメント演算子====
====後置デクリメント演算子====
次の例に示すように、<code>x++</code>の結果は<code>x</code>のデクリメント前の値です。
次の例に示すように、<code>x++</code>の結果は<code>x</code>のデクリメント前の値です。
45行目: 47行目:
  print(++x); //出力:2
  print(++x); //出力:2
  print(++x); //出力:1
  print(++x); //出力:1
===単項プラス演算子と単項マイナス演算子===
===単項プラス演算子と単項マイナス演算子===
単項プラス演算子<code>+</code>ではその値が返されます。単項マイナス演算子<code>-</code>ではその値の否定が返されます。
単項プラス演算子<code>+</code>ではその値が返されます。単項マイナス演算子<code>-</code>ではその値の否定が返されます。
91行目: 94行目:
==デリゲートの組み合わせ==
==デリゲートの組み合わせ==
左辺と右辺の両方がデリゲート型の場合、左辺のデリゲートと右辺のデリゲートが結合された新しいデリゲートが返されます。次に例を示します。
左辺と右辺の両方がデリゲート型の場合、左辺のデリゲートと右辺のデリゲートが結合された新しいデリゲートが返されます。次に例を示します。
  var del1 = _(){
  var del1 = ()=>{
   print(”Hello”);
   print(”Hello”);
  };
  };
  var del2 = _(){
  var del2 = ()=>{
   print(“World”);
   print(“World”);
  };
  };
102行目: 105行目:
  //出力:Hello
  //出力:Hello
  //    World
  //    World
==ラムダ演算子==
ラムダ演算子<code>=></code>は、[[デリゲート#ラムダ式|ラムダ式]]の定義時に、左側の引数指定部と右側の式本体を分ける機能を持ち、それ以外の機能はありません。詳細については、[[デリゲート#ラムダ式|ラムダ式]]を参照してください。
==等値演算子==
==等値演算子==
等値演算子は左右の値が等しいかどうかを判断し、それに応じた値を返します。
等値演算子は左右の値が等しいかどうかを判断し、それに応じた値を返します。
143行目: 148行目:
  print(true^true); //出力:false
  print(true^true); //出力:false
=Null合体演算子=
=Null合体演算子=
==Null合体演算子==
Null合体演算子<code>??</code>は、左の値が<code>null</code>でない場合その値を返し、それ以外の場合は右の値が評価され返されます。次に例を示します。
Null合体演算子<code>??</code>は、左の値が<code>null</code>でない場合その値を返し、それ以外の場合は右の値が評価され返されます。次に例を示します。
  var v = “ABC”;
  var v = “ABC”;
148行目: 154行目:
  v = null;
  v = null;
  print(v??”Hello,World”);//出力:Hello,World
  print(v??”Hello,World”);//出力:Hello,World
==Null合体代入演算子==
Null合体代入演算子<code>??=</code>は、その値が<code>null</code>と評価された場合のみ右辺の値を代入し、それ以外の場合は何もしません。次に例を示します。
var v = null;
v ??= "Hello,World";
print(v);//出力:Hello,World


=型一致演算子=
=型一致演算子=
164行目: 175行目:
  print(str.type);//出力:STRING
  print(str.type);//出力:STRING
=条件演算子=
=条件演算子=
条件演算子(三項条件演算子)は、論理式を評価し、論理式の評価結果(<code>true</code>または<code>false</code>)に応じて続く二つの式のいずれかの結果を返します。まずは次の例を参照してください。
条件演算子(三項条件演算子)<code>?:</code>は、論理式を評価し、論理式の評価結果(<code>true</code>または<code>false</code>)に応じて続く二つの式のいずれかの結果を返します。まずは次の例を参照してください。
  string todo = 現在の気温 > 30.0 ? "エアコンを入れる" : "エアコンを切る";
  string todo = 現在の気温 > 30.0 ? "エアコンを入れる" : "エアコンを切る";
  print("todo={0}",todo);
  print("todo={0}",todo);
171行目: 182行目:
  //現在の気温が32℃の場合 : todo=エアコンを入れる
  //現在の気温が32℃の場合 : todo=エアコンを入れる
上記の例では、現在の気温が30℃以上の場合、<code>todo</code>に「エアコンを入れる」が代入されます。
上記の例では、現在の気温が30℃以上の場合、<code>todo</code>に「エアコンを入れる」が代入されます。
この例のように、この条件演算子の構文は次のようになります。
この例のように、この条件演算子の構文は次のようになります。
 条件 ? 結果A : 結果B
条件 ? 結果A : 結果B
<code>条件</code>式は、論理式で<code>true</code>または<code>false</code>のどちらかと評価される必要があります。<code>条件</code>が<code>true</code>と評価された場合は、<code>結果A</code>の式が評価され、<code>条件</code>が<code>false</code>と評価された場合は、<code>結果B</code>の式が評価され、それらの結果が演算の結果として返されます。結果Aと結果Bの両方が評価されることはありません。
<code>条件</code>式は、論理式で<code>true</code>または<code>false</code>のどちらかと評価される必要があります。<code>条件</code>が<code>true</code>と評価された場合は、<code>結果A</code>の式が評価され、<code>条件</code>が<code>false</code>と評価された場合は、<code>結果B</code>の式が評価され、それらの結果が演算の結果として返されます。結果Aと結果Bの両方が評価されることはありません。