式 はコードの最小単位で、評価 したときに 結果 を示します。Verse におけるすべてのものが式で、つまりすべてを評価して 値 が得られます。
たとえば、Verse の if ... else
式では、値を評価するのに、
式 ブロック。次のコードは、文字列 値を評価します。MyNumber
が 5 より大きいかどうかで、「Big!」または「Small!」になります。
if (MyNumber > 5):
“Big!”
else
“Small!”
つまり、if ... else
を直接、関数への入力として使用できます。結果 の格納と入力としての結果の使用はありません。
この例はシンプルですが、状況によりさらに強力なものになる場合があります。たとえば、ループ は値の配列を評価されるため、既存の配列を基に新しい配列をすばやく作成することができます。
次のコードでは、MyArray
には NumberArray
から 5 未満のすべての値が含まれます。
MyArray : []int = for(Number := NumberArray, Number < 5):
番号
失敗する可能性がある式
失敗する可能性がある式 とは、成功して値を生み出す場合もあれば、失敗して値を返さない場合もある式です。式が失敗した場合に起きる内容はコンテキストによって決まるため、失敗する可能性がある式は 失敗コンテキスト でのみ実行できます。
失敗する可能性がある式の例には、配列 でのインデックス処理 (無効なインデックスの場合は失敗します) や、2 つの値を比較するなどの 演算子 の使用があります。Verse における失敗する可能性がある式については、「失敗」を参照してください。
Verse における式のリスト
次のテーブルでは、Verse における多様な式について説明します。 それぞれの式の詳細については、そのリンクを参照してください。
式 | 説明 | 失敗する可能性がある式か? |
---|---|---|
リテラル | ||
関数呼び出し | 関数呼び出し は式であり、FunctionName() と FunctionName[] の 2 つの形式があります。関数呼び出し式の結果の型は、関数シグネチャで定義されます。詳細については、「関数」を参照してください。 |
関数呼び出しが FunctionName[] 形式であり、関数定義に <decides> 指定子がある場合のみ。 |
比較 | はい | |
代入 | 定数 を 初期化 したり、変数 の値を変更したりするときなどに、代入式 によって 可変 の場所に値を格納します。詳細については、「定数と変数」を参照してください。 | |
数式演算 | 整数での除算の場合のみ。 | |
決定 | 判定式は演算子 not 、and および or を使用して、成功および失敗時の決定フローをコントロールできます。詳細については「演算子」を参照してください。 |
はい |
クエリ | クエリ式は演算子 ? を使用して、ロジックやオプション値が true かどうかをチェックします。他の場合は、式が失敗します。詳細については「演算子」を参照してください。 |
はい |
クラスと構造体のインスタンス化 | class や struct のインスタンスの作成は、式です。「クラス」および「構造体」を参照してください。 |
|
制御フロー | 制御フローは、コンピュータが命令を実行する順序です。
詳細については、「制御フロー」を参照してください。 |
|
配列 | 配列は、同じ型の要素を格納できる コンテナ です。配列の要素は配列に挿入した順番で配置され、それらの要素には インデックス と呼ばれる配列内の位置に基づいてアクセスできます。詳細については、「配列」を参照してください。 | 配列でインデックス処理するときのみ。 |
タプル | タプルは、複数の型の要素を格納できるコンテナです。タプルの要素は、タプルに挿入した順番で配置され、それらの要素には、インデックスというタプル内の位置に基づいてアクセスできます。詳細については、「タプル」を参照してください。 | |
マップ | マップは、別の値に関連付けた値 (キー / 値のペア) を格納できるコンテナです。キー / 値のペアは、キーの型が比較可能な限り、任意の型を組み合わせることができます。マップの要素はマップにキー / 値のペアを挿入した順になり、各要素には一意のキーでアクセスできます。詳細については、「マップ」を参照してください。 | |
オプション | オプションとは、値が 1 つまたは値がない型を含むコンテナです。詳細については、「オプション」を参照してください。 | |
範囲 | 範囲式は、.. を挟む 2 つの値 (1..5 など) で、最初から最後の数を含みます。範囲式は、for 式などの一部の場所でのみ使用できます。詳細については、「範囲」を参照してください。 |