FAQ-386 変数の置換を避ける方法はありますか?

最終更新日: 2019/09/26

$%等の置換表記による変数はスクリプトが実行された時に実際の値として決定されます。

Labtalkスクリプトで変数の置換を回避するには

スクリプトが実行されるとき、スクリプトを複数回実行する必要がある場合には、変数置換は問題を引き起こします。これを回避するには、それらを直接使用するのではなく、文字列レジスタに特別な置換表記を割り当てることができます。

サンプル:

以下のサンプルでは、列Bに対する列値の設定ダイアログで式を入力する際に、%(Col(B)[U]$) を列Bの単位値により置換せずに Col(A)[i] - %(Col(B)[U]$) を実行するサンプルです。

%A="%";
csetvalue f:="Col(A)[i] - %A(Col(B)[U]$)" c:=Col(B);
凡例/テキストオブジェクトで変数の置換を回避するには

凡例の置換表記は、実際の値をレンダリングします。たとえば、予期しない文字列を表示する可能性のある凡例の文字\または。この状況を回避するには、エスケープシーケンス\ v()を使用できます。

サンプル:

サンプル 入力の方法... 凡例の結果...
5%Cu 5\v(%)Cu Legend substitution.png

キーワード: 置換, 置換を回避, 置換をオフ