Tcl-tk-tcl-basic-syntax
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;ただし、読みやすくするために、必要に応じて一部を含めることができます。