Tcl-tk-tcl-variables

提供:Dev Guides
移動先:案内検索

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