Tclは非常にシンプルなプログラミング言語です。もし、あなたにプログラミング経験があるならば、数時間で面白いTclプログラムを書くために十分に学習することができます。このページはTclの概要と主な特徴を提供します。これを読んだ後に、あなたは恐らく独力でシンプルなTclスクリプトを書き始めることができるでしょう。しかしながら、我々はあなたがより多くの情報を得るために、沢山あるTcl本の中から1つを読まれることを勧めます。 基本的な文法Tclコマンドはニューラインまたはセミコロンによって区切られたコマンドから構成されます。コマンドは次の例のようにすべて同じ基本的な形式になります。 各々のTclコマンドはスペースで区切られた1つ以上のワードから成ります。この例では、4つのワード(expr、20、+、10)があります。最初のワードはコマンド名で、その他のワードはそのコマンドへの引数です。Tclコマンドはすべてワードから成りますが、各々のコマンドの引数の扱いは異なっています。exprコマンドはすべての引数を合わせてに算術演算式として扱います。そしてその算術演算式の結果を計算し、文字列としてその結果を返します。exprコマンドにとってワードの分割は重要ではありません。あなたは容易に同じコマンドとして以下の様に呼び出すことができるでしょう。 すべてのTclコマンドは結果を返します。もしコマンドが意味のある結果を持っていない場合、その結果として空の文字列を返します。 変数Tclは、あなたが変数に値を格納し、コマンドの中で値をその後使うことを可能にします。setコマンドは変数の設定と参照をするのに使われます。例えば、以下のコマンドは値32を保持するために変数xを修正します。 コマンド内で変数の値を使うために、以下の例のように変数の置換を使います。 コマンドの置換さらにあなたは、あるコマンドの結果を別のコマンドの引数に使うことができます。これはコマンドの置換と呼ばれます。 ダブルクオートと中括弧制御構造Tclはループやプロシジャ等の条件付き実行のためのコマンドを含む完全な制御構造のセットを提供します。Tcl制御構造は引数としてTclスクリプトをとる単なるコマンドです。以下の例は整数ベースの累乗を行うpowerというTclプロシジャを作成します。 powerが呼び出された時、そのプロシジャの本体が評価されます。本体を実行している間だけその引数の変数にアクセスすることができます。baseは最初の引数を保持し、pは第2引数を保持するでしょう。 powerプロシジャの本体は、3つのTclコマンド(set, while, return)から成ります。whileコマンドはプロシジャのほとんどの仕事を行います。whileは2つの引数(条件式($p > 0)と別のTclスクリプトである本体)をとります。whileコマンドはC言語のそれらに似たルールを使ってその条件式の引数を評価します。そしてもしその結果が真(ゼロでない)時は、Tclスクリプトである本体を評価します。条件式の評価が偽(ゼロ)になるまでそれは何度もプロセスを繰り返します。この場合、whileコマンドの本体はresultにbaseを乗じて、それからpをデクリメントしています。pはゼロになるまでbaseの階乗が続けられます。returnコマンドは変数resultの値をそのプロシジャの結果として出し、プロシジャを終了します。 コマンドはどこから来るのか?あなたが見たように、Tcl内の面白い特徴のすべてはコマンドによって代表されます。ステートメントはコマンドです。算術演算式(条件式)は実行するコマンドにより評価されます。制御構造はコマンドです。プロシジャもコマンドです。 Tclコマンドは3つの方法で作成されます。第1のコマンドのグループはTclインタプリタそれ自身によって提供されます。これらのコマンドはビルトイン・コマンドと呼ばれます。それらは、あなたがここまで見たコマンドおよびさらに多くのすべてを含んでいます(以下を参照)。ビルトイン・コマンドはすべてのTclアプリケーションの中にあります。 第2のコマンドのグループはTclの拡張メカニズムを使用して作成されます。Tclはコマンドを実装するCまたはC++の中でコマンドプロシジャを書くことにより、あなたが新しいコマンドを作成することを可能にするAPIを提供します。あなたTclにプロシジャが実装するコマンドの名前を伝えることにより、Tclインタプリタを備えたコマンドプロシジャを登録します。特にその名前がTclコマンドのために使用される場合は、常に今後Tclはコマンドを実行するためにあなたのコマンドプロシジャを呼ぶでしょう。ビルトイン・コマンドはさらに同じ拡張メカニズムを使用して実装されます。それらのコマンドプロシジャは単にTclライブラリの一部です。 Tclがアプリケーションの内部で使用される場合、アプリケーションは拡張メカニズムを使用してTclにその重要な特徴を組み込みます。したがって、利用可能なTclコマンドのセットはアプリケーションによって様々です。任意のTclアプリケーションに組み込むことができるさらに多数の
拡張パッケージがあります。最も名高い拡張の1つは、GUIを構築するための強力な機能を提供するTkです。他の拡張は、オブジェクト指向プログラミング、データベースアクセス、よりグラフィカルな能力および様々な他の特徴を提供します。統合アプリケーションを構築するためのTclの最も大きな利点のうちの1つは、新しい特徴を組み込むかあるいは他の資源と通信するために、拡張することのできる容易さです。 第3のコマンドのグループは、上記powerコマンドのようにprocコマンドで作成されたプロシジャから成ります。典型的に、拡張は、Cプログラミングが便利なところで、より低いレベルの機能のために使用され、プロシジャはTclの中で書くことがより容易なところで、より高いレベルの機能のために使用されます。 その他の特徴Tclは、前の例の中で使用されるものに加えて他の多くのコマンドを含んでいます。ここにTclビルトイン・コマンドによって提供される特徴のうちいくつかの例があります。
関連情報 |