Tcl-tk-tcl-variables
Tcl-変数
Tclでは、変数宣言の概念はありません。 新しい変数名が見つかると、Tclは新しい変数を定義します。
変数の命名
変数の名前には、任意の文字と長さを含めることができます。 変数を中括弧で囲むことで空白を入れることもできますが、推奨されません。
setコマンドは、変数に値を割り当てるために使用されます。 setコマンドの構文は次のとおりです。
set variableName value
変数のいくつかの例を以下に示します-
#!/usr/bin/tclsh
set variableA 10
set {variable B} test
puts $variableA
puts ${variable B}
上記のコードが実行されると、次の結果が生成されます-
10
test
上記のプログラムでわかるように、変数の値を取得するために$ variableNameが使用されます。
動的な入力
Tclは動的に型指定された言語です。 必要に応じて、変数の値を必要な型に動的に変換できます。 たとえば、文字列として格納されている数値5は、算術演算を実行するときに数値に変換されます。 以下に示されています-
#!/usr/bin/tclsh
set variableA "10"
puts $variableA
set sum [expr $variableA +20];
puts $sum
上記のコードが実行されると、次の結果が生成されます-
10
30
数式
上記の例からわかるように、exprは数式を表すために使用されます。 Tclのデフォルトの精度は12桁です。 浮動小数点の結果を取得するには、少なくとも1桁の10進数を追加する必要があります。 簡単な例で上記を説明します。
#!/usr/bin/tclsh
set variableA "10"
set result [expr $variableA/9];
puts $result
set result [expr $variableA/9.0];
puts $result
set variableA "10.0"
set result [expr $variableA/9];
puts $result
上記のコードが実行されると、次の結果が生成されます-
1
1.1111111111111112
1.1111111111111112
上記の例では、3つのケースを見ることができます。 最初のケースでは、被除数と除数は整数であり、結果として整数を取得します。 2番目のケースでは、除数のみが10進数であり、3番目のケースでは、被除数は10進数です。 2番目と3番目の両方のケースで、結果として10進数を取得します。
上記のコードでは、tcl_precision特殊変数を使用して精度を変更できます。 以下に示されています-
#!/usr/bin/tclsh
set variableA "10"
set tcl_precision 5
set result [expr $variableA/9.0];
puts $result
上記のコードが実行されると、次の結果が生成されます-
1.1111