大きいほうの数字を得る
Automation Anywhere A2019で変数を使った四則演算以上のことを行うには工夫が必要です。入力値の大きい方を判定するには、外部スクリプト (VBScript, JavaScript, Python) を使う方法とBot Storeのパッケージを使う方法があります。
目次
リスト型変数 $x$を作成、$x[0]$と$x[1]$の大きいほうを求める方法を考えます。
VBScriptを使う方法
VBScriptを呼び出す方法を使って入力値の大きい方を判定します。
解法:
- リスト型変数$x$をあらかじめ作成しておきます。初期値として0の要素に数字型の5、1の要素に数字型の3を代入します。
- 「VBScript : 開く」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「VBScript」は「手動インポート」を選択。
- 「ここにスクリプトを入力します」には以下を設定。
Function Calc(x)
If x(0)>x(1) Then
Calc = x(0)Else
Calc = x(1)
End If
End Function - 保存します。
- 「VBScript: 関数を実行」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「実行する関数の名前を入力します」は「Calc」と入力。
- 「関数への引数」には「x - リスト」を設定。
- 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
- 保存します。
- 「VBScript: 閉じる」アクションを配置して、保存、実行します。
- 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
- 保存して実行します。
結果:
「5」と表示されます。
JavaScriptを使う方法
JavaScriptを呼び出す方法を使って入力値の大きい方を判定します。
解法:
- リスト型変数$x$をあらかじめ作成しておきます。初期値として0の要素に数字型の5、1の要素に数字型の3を代入します。
- 「JavaScript : 開く」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「JavaScript」は「手動インポート」を選択。
- 「ここにスクリプトを入力します」には以下を設定。
function Calc(x){
return Math.max(x[0],x[1]);
} - 保存します。
- 「JavaScript: JavaScriptを実行」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「実行する関数の名前を入力します」は「Calc」と入力。
- 「関数への引数」には「x - リスト」を設定。
- 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
- 保存します。
- 「JavaScript: 閉じる」アクションを配置して、保存、実行します。
- 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
- 保存して実行します。
結果:
「5」と表示されます。
Pythonを使う方法
Pythonスクリプトを呼び出す方法を使って入力値の大きい方を判定します。
※ Pythonランタイム環境がインストール済みであることが前提です。
解法:
- リスト型変数$x$をあらかじめ作成しておきます。初期値として0の要素に数字型の5、1の要素に数字型の3を代入します。
- 「Pythonスクリプト: 開く」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 保存します。
- 「Pythonスクリプト: 関数を実行」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「実行する関数の名前を入力します」は「Calc」と入力。
- 「関数への引数」には「x - リスト」を設定。
- 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
- 保存します。
- 「Pythonスクリプト: 閉じる」アクションを配置して、保存、実行します。
- 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
- 保存して実行します。
結果:
「5.0」と表示されます。
「数学」パッケージを使う方法
※商用版Enterprise版のみの機能でCommunity Editionでは利用不可。
Bot Store上で配布されている「数学」パッケージをダウンロードしてインストールしておくと、数学関数や数式を簡単に計算することができます。https://mathjs.org のエンジンを使って数式の解析をしています。
「Math : Math expression」アクションの使い方 数式を解析します。
入力:
出力:
|
解法:
- 数字型変数の$x$、$y$をあらかじめ作成しておきます。初期値としてそれぞれ5、3を代入します。
- 「Math : Math expression」アクションを挿入します。
- アクションの詳細パネルで以下を指定します。
- 「Expression」で「max($x.Number:toString$,$y.Number:toString$)」を指定。
- 「Result」で$prompt-assignment$ - 文字列を選択。
- 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
- 保存して実行します。
結果:
「5」と表示されます。
$x.Number:toString$の書式は「型キャスト」を使っています。詳しくは『四則演算や変数の型変換を簡単に行う』を参照してください。「Math expression」フィールドは文字列型なので、変数も文字列型に変換する必要があります。