メイン コンテンツをスキップする

パラメータを使用したドル記号展開

ドル記号展開ではパラメータを使用できます。これにより、変数の動的評価が可能になります。

拡張で使用するために作成された変数には、仮パラメータが含まれている必要があります。正式なパラメータは、評価への入力のプレースホルダーであり、ドル記号で記述されます: $1$2$3。番号はパラメータ番号を示します。

変数を使用する場合、実際のパラメータはコンマ区切りのリストに記載する必要があります。

例: ドル記号展開のパラメータ

2 つの数値間の乗算を定義する場合は、次のように記述できます。

Set MUL= $1*$2 ;

これは、$1$2 を互いに乗算する必要があることを定義します。この変数を使用する場合は、数式に $1$2 の値を挿入してドル展開する必要があります。

Set X= $( MUL(3,7) ) ;

値 (37)は、展開で $1$2 を置き換える実際のパラメータです。展開は、set ステートメントが解析および実行される前に行われます。つまり、スクリプト パーサーは次のことを認識します。

Set X= 3*7 ;

その結果、変数 X には文字列値: 3*7 が割り当てられます。

Set ステートメントの代わりに Let を使用する場合:

Let X= $( MUL(3,7) ) ;

パーサーには次のように表示されます。

Let X= 3*7 ;

ここで評価が行われ、X には数値 21 が割り当てられます。

パラメータの数

仮パラメータの数が実パラメータの数より多い場合は、実パラメータに対応する仮パラメータだけが展開されます。実パラメータの数が仮パラメータの数より多い場合は、余分な実パラメータが無視されます。

例: 仮パラメータと実パラメータ

Set MUL= '$1*$2' ;
Set X= $(MUL) ;         // returns $1*$2 in X
Set X= $(MUL(10)) ;     // returns 10*$2 in X
Let X= $(MUL(5,7,8)) ;  // returns 35 in X

$0 パラメータ

パラメータ $0 は、呼び出しで実際に渡されるパラメータの数を返します。

例: エラー処理を導入する方法

Set MUL= If($0=2, $1*$2, 'Error') ;

詳細を見る