ループを作成してリストや配列を繰り返します。 ループ論理表記を使用すると、For、SomeおよびEveryという3つの異なるタイプのループを作成できます。
- 対象: リストを反復して、結果を含む配列またはリストを返します。
- 一部: 少なくとも1つのリスト・アイテムが式で定義されたテスト条件を満たしているかどうかを確認し、ブール値を返します。
- 毎: すべてのリスト・アイテムが式で定義されたテスト条件を満たしているかどうかを確認し、ブール値を返します。
キャンバスにループ・ディシジョンを追加し、そのプロパティを定義するには、「ディシジョンの追加」を参照してください。
次のステップに従って、ディシジョンのロジックを構成します:
- ループ・ノードをダブルクリックして、そのロジック・エディタにアクセスします。
または、ノードを選択し、サイドバーの
をクリックします。
- Forループを構成します。
- 「操作」列で、ドロップダウン・メニューで「対象」を選択します。 対応する式フィールドに、ループ変数を入力します。
- in行の式フィールドに、反復するリストまたは配列を入力します。 フィールドをクリックして、デシジョン出力、変数、関数およびキーワードを含む提案リストを表示します。 これらの提案を使用して、式を定義したり、FEEL構文を使用して独自の記述を行うことができます。 「フレンドリな表現言語について」を参照してください。
- 「戻る」フィールドのロジックを構成します。 フィールドには、デフォルトで式表記が選択されています。
- フィールドの論理表記法を変更するには、その行の
をクリックし、「値の変更」を選択して、使用可能なオプションとは異なる表記法を選択します。
- 結果を計算して返すロジックを構成します。
- オプションで、追加の条件を追加します。
- 「条件の追加」をクリックします。
「場所」というラベルの新しいフィールドが「戻る」フィールドの上に追加されます。
- 「場所」フィールドの式を入力します。
- 「場所」フィールドを削除するには、その行の
をクリックし、「削除」をクリックします。
- 一部またはすべてのループを構成します。
- 「操作」列で、ドロップダウン・メニューから「一部」または「すべて」を選択します。 対応する式フィールドに、ループ変数を入力します。
- in行の式フィールドに、反復するリストまたは配列を入力します。 フィールドをクリックして、デシジョン出力、変数、関数およびキーワードを含む提案リストを表示します。 これらの提案を使用して、式を定義したり、FEEL構文を使用して独自の記述を行うことができます。 「フレンドリな表現言語について」を参照してください。
- 「満足」フィールドのロジックを構成します。 フィールドには、デフォルトで式表記が選択されています。
- フィールドの論理表記法を変更するには、その行の
をクリックし、「値の変更」を選択して、使用可能なオプションとは異なる表記法を選択します。
- テスト式またはロジックを入力します。
- データをフィールドにコピーして貼り付けるには、フィールドの
をクリックし、必要なアクションを選択します。
- 別のディシジョンでロジック定義全体を再利用するには、ロジック定義を切り取るかコピーして、目的のディシジョンに貼り付けます。 ヘッダーで
をクリックし、必要なアクションを選択します。
ディシジョン・モデル内で行った変更は、自動的に保存および検証されます。 エラーおよび警告(ある場合)がエディタに表示されます。 エラーまたは警告アイコンをクリックして、確認して修正します。 「ディシジョンにおけるエラーのレビューおよび修正」を参照してください。
-
次の例は、リスト・アイテムの正方形を戻す単純なForループを示しています:
![この図は、Squareというループ・ディシジョンを示しています。 デシジョンには、2つの列と3つの行の表が含まれます。 2つの列は: 操作と名前または式。 「操作」列では、最初の行で「対象」が選択され、2番目と3番目の行がそれぞれ表示され、戻されます。 「名前」列または「式」列の3行は次のように移入されます: n, [1,2,3,4], n*n. この図は、Squareというループ・ディシジョンを示しています。 デシジョンには、2つの列と3つの行の表が含まれます。 2つの列は: 操作と名前または式。 「操作」列では、最初の行で「対象」が選択され、2番目と3番目の行がそれぞれ表示され、戻されます。 「名前」列または「式」列の3行は次のように移入されます: n, [1,2,3,4], n*n.](img/dm-loop-1.png)
-
次のデシジョンには、リスト内の少なくとも1つの要素が50より大きいかどうかをチェックするループが含まれています:
![イメージは、「より大きい」というループ・ディシジョンを示しています。 デシジョンには、2つの列と3つの行の表が含まれます。 2つの列は: 操作と名前または式。 「操作」列では、1行目で「一部」が選択され、2行目と3行目がそれぞれ表示され、満たされます。 「名前」列または「式」列の3行は次のように移入されます: n、[12,50,51]、n>50。 イメージは、「より大きい」というループ・ディシジョンを示しています。 デシジョンには、2つの列と3つの行の表が含まれます。 2つの列は: 操作と名前または式。 「操作」列では、1行目で「一部」が選択され、2行目と3行目がそれぞれ表示され、満たされます。 「名前」列または「式」列の3行は次のように移入されます: n、[12,50,51]、n>50。](img/dm-loop-2.png)
-
次のデシジョンには、リスト内のすべての要素が50より大きいかどうかをチェックする各ループが含まれています:
![イメージは、「より大きい」というループ・ディシジョンを示しています。 デシジョンには、2つの列と3つの行の表が含まれます。 2つの列は: 操作と名前または式。 「操作」列では、1行目で「すべて」が選択され、2行目と3行目がそれぞれ表示され、満たされます。 「名前」列または「式」列の3行は次のように移入されます: n、[12,50,51]、n>50。 イメージは、「より大きい」というループ・ディシジョンを示しています。 デシジョンには、2つの列と3つの行の表が含まれます。 2つの列は: 操作と名前または式。 「操作」列では、1行目で「すべて」が選択され、2行目と3行目がそれぞれ表示され、満たされます。 「名前」列または「式」列の3行は次のように移入されます: n、[12,50,51]、n>50。](img/dm-loop-3.png)