Tcl-tk-tcl-basic-syntax

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

Tcl-基本構文

Tclの学習は非常に簡単で、最初のTclプログラムの作成を始めましょう!

最初のTclプログラム

簡単なTclプログラムを作成しましょう。 すべてのTclファイルには拡張子、つまり.tclが付きます。 そのため、次のソースコードをtest.tclファイルに配置します。

#!/usr/bin/tclsh

puts "Hello, World!"

Tcl環境が正しくセットアップされていると仮定します。ファイルのディレクトリに切り替えてからプログラムを実行し、プログラムを実行してみましょう-

$ tclsh test.tcl

私たちは次の出力を取得します-

Hello, World!

Tclプログラムの基本構造を見てみましょう。これにより、Tcl言語の基本的な構成要素を理解しやすくなります。 Tclでは、改行またはセミコロンを使用して、前のコード行を終了します。 ただし、各コマンドに改行を使用している場合、セミコロンは必要ありません。

コメント

コメントは、Tclプログラムのテキストを支援するようなもので、インタープリターはそれらを無視します。 コメントは、先頭にhash _(#)記号を使用して記述できます。

#!/usr/bin/tclsh

# my first program in Tcl
puts "Hello World!"

上記のコードが実行されると、次の結果が生成されます-

Hello World!

複数行またはブロックのコメントは、条件「0」の「if」を使用して記述されます。 例を以下に示します。

#!/usr/bin/tclsh

if 0 {
   my first program in Tcl program
   Its very simple
}
puts "Hello World!"

上記のコードが実行されると、次の結果が生成されます-

Hello World!

インラインコメントは;#を使用します。 例を以下に示します。

#!/usr/bin/tclsh

puts "Hello World!" ;# my first print in Tcl program

上記のコードが実行されると、次の結果が生成されます-

Hello World!

識別子

Tcl識別子は、変数、関数、またはその他のユーザー定義アイテムを識別するために使用される名前です。 識別子は、A〜Zまたはa〜zまたはアンダースコア(_)で始まり、その後にゼロ個以上の文字、アンダースコア、ドル($)、および数字(0〜9)が続きます。

Tclでは、識別子内で@や%などの句読点文字を使用できません。 Tclは*大文字と小文字を区別する* _言語です。 したがって、_Manpower_と_manpower_は、Tclの2つの異なる識別子です。 ここに受け入れ可能な識別子の例のいくつかがあります-

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

予約語

次のリストは、Tclの予約語のいくつかを示しています。 これらの予約語は、定数、変数、またはその他の識別子名として使用できません。

after append array auto_execok
auto_import auto_load auto_load_index auto_qualify
binary Bgerror break catch
cd Clock close concat
continue Dde default else
elseif Encoding eof error
eval Exec exit expr
fblocked Fconfigure fcopy file
fileevent Flush for foreach
format Gets glob global
history If info interp
join Lappend lindex linsert
list Llength load lrange
lreplace Lsearch lsort namespace
open Package pid pkg_mkIndex
proc Puts pwd read
regexp Regsub rename resource
return Scan seek set
socket Source split string
subst Switch tclLog tell
time Trace unknown unset
update Uplevel upvar variable
vwait While

Tclの空白

コメントが含まれている可能性のある空白のみを含む行は*空白行*と呼ばれ、Tclインタープリターは完全に無視します。

空白は、空白、タブ、改行文字、コメントを記述するためにTclで使用される用語です。 空白はステートメントの一部を別の部分から分離し、インタープリターがステートメントの1つの要素(put、end、次の要素の開始など)を識別できるようにします。 したがって、次のステートメントで-

#!/usr/bin/tclsh

puts "Hello World!"

「puts」と「Hello World!」の間に少なくとも1つの空白文字(通常はスペース)が必要です。通訳者がそれらを区別できるようにします。 一方、次の文で-

#!/usr/bin/tclsh

puts [expr 3 + 2] ;# print sum of the 3 and 2

上記のコードが実行されると、次の結果が生成されます-

5

3と+の間、または+の間には空白文字は不要です。および2;ただし、読みやすくするために、必要に応じて一部を含めることができます。