再帰式
- 最終更新日2025/03/21
再帰式を使用して、ディクショナリ、リスト、レコード、またはテーブル変数のインデックスやキーの代わりに変数を挿入します。
再帰式は、別の変数 (外側変数) の中にネストされた変数を含んでいます。 外側変数の値は、ネストされた変数の値に基づいて条件化されます。
たとえば、リスト変数 $listOfPlanets$
には、Mercury、Venus、Earth、Mars、Jupiter、Saturn、Uranus、Neptune の値があります。 数値変数 $indexPosition$
の値は 2 です。 つまり、式 $listOfPlanets[$indexPosition$]$
は Earth
を返します。
以下のようなタイプの式がサポートされています。 最大 10 個の式を含む再帰式を作成できます。
- $dictionaryVariable{$key$}$
- $listVariable[$index$]$
- $recordVariable[$index$]$
- $tableVariable[$rowIndex$][$columnIndexOrName$]$
注:
- リスト変数内でテーブル変数を使用することはできません。 たとえば、次の式はサポートされていません。
$vListStr[$vTable[0][0]$]
- 式をプロパティと組み合わせることはできません。 たとえば、次の式はサポートされていません。
$dictionaryVar{$listStrVar[2]$}.String:reverse$
例
このネストされたディクショナリの例は、組織構造を示しています。 ディクショナリには階層的な役割と部下を持つ従業員が含まれています。
次の変数を作成します。
-
Bot を作成します。
- 左側のペインで オートメーション をクリックします。
使用可能な Bots とフォームのリストが表示されます。
- Bot を作成 をクリックします。
- Bot の名前として次を入力します。 再帰式.
- [作成と編集] をクリックします。
- 左側のペインで オートメーション をクリックします。
-
[変数] メニュー上部の [変数を作成] (+) アイコンを使用して、ユーザー定義変数を作成します。
-
[メッセージ ボックス]
アクションをダブルクリックまたはドラッグします。 Org_Dept から 部署 1 の値を取得するために、以下の手順を実行してください。
- F2キーを押すか、(x)アイコンをクリックして[表示するメッセージを入力]フィールドに値を挿入します。
- [値を挿入] ウィンドウで変数 Org_Dept を選択します。
- [式アイテムを追加] をクリックします。 名前 タブを選択し、値 部署 1 を入力します。
- 挿入 をクリックして、次の式 $Org_Dept{"Department 1"}$ を 表示するメッセージを入力 フィールドに追加します。
-
[メッセージ ボックス]
アクションをダブルクリックまたはドラッグします。 Org_Rolesからエンジニアリングの値を取得するために、以下の手順を実行してください。
- F2キーを押すか、(x)アイコンをクリックして[表示するメッセージを入力]フィールドに値を挿入します。
- 値を挿入ウィンドウで、リストから変数Org_Rolesを選択します。
- [式アイテムを追加] をクリックします。 名前で選択 タブを選択し、(x) をクリックして値を挿入します。
- [値を挿入] ウィンドウで変数 Org_Dept を選択します。
- [式アイテムを追加] をクリックします。 名前 タブを選択し、値 部署 1 を入力します。
- 挿入 をクリックして、ネストされた式 $Org_Dept{"Department 1"}$ を追加します。
- 挿入 をクリックして、次の式 $Org_Roles{$Org_Dept{"Department 1"}$}$ を 表示するメッセージを入力 フィールドに追加します。
- ステップ4を繰り返して、次のネストされた式 $Org_Reportee{$Org_Roles{$Org_Dept{"Department 1"}$}$}$ を作成し、Org_Reportee から 開発マネージャ の値を取得します。
- ステップ4を繰り返して、次のネストされた式 $Org_Structure{$Org_Reportee{$Org_Roles{$Org_Dept{"Department 1"}$}$}$}$ を作成し、Org_Structure から CTO の値を取得します。
-
[保存]、[実行] をクリックします。出力は次のように表示されます。
ネストされた辞書は、部署 1の値を取得します。それはエンジニアリングです。 エンジニアリング 部門には 開発マネージャ という役割があります。 開発マネージャ は CTO に報告し、CTO は CEO に報告します。CEO は組織の責任者です。