「式」の版間の差分
編集の要約なし |
編集の要約なし |
||
(同じ利用者による、間の6版が非表示) | |||
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>は、[[デリゲート#ラムダ式|ラムダ式]]の定義時に、左側の引数指定部と右側の式本体を分ける機能を持ち、それ以外の機能はありません。詳細については、[[デリゲート#ラムダ式|ラムダ式]]を参照してください。 | |||
==等値演算子== | ==等値演算子== | ||
等値演算子は左右の値が等しいかどうかを判断し、それに応じた値を返します。 | 等値演算子は左右の値が等しいかどうかを判断し、それに応じた値を返します。 | ||
170行目: | 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); | ||
212行目: | 217行目: | ||
条件演算子は行数を短くするよりも、他の人がコードを読んだときに簡単に理解できるようになることを期待して導入されました。基本的には、If文を使用し、条件演算子はそれを使用することで簡潔にわかりやすくなる場合のみ使用するべきです。 | 条件演算子は行数を短くするよりも、他の人がコードを読んだときに簡単に理解できるようになることを期待して導入されました。基本的には、If文を使用し、条件演算子はそれを使用することで簡潔にわかりやすくなる場合のみ使用するべきです。 | ||