3

コマンド内にコメントを入れたいのですが、「#」文字が Tcl 8.4 で次のように定義されているため、これは不可能のようです。

Tcl がコマンドの最初の単語の最初の文字を予期している場所にハッシュ文字 (``#'') が現れると、ハッシュ文字とそれに続く次の改行までの文字は次のように扱われます。コメントして無視します。コメント文字は、コマンドの先頭にある場合にのみ意味を持ちます。

これがどのように機能するかの次の例を想像してみてください (これらのコメントはどれも私の実験では機能しませんでした):

array set myArray [list red 3        \
                        blue 4       ;# Blue is before purple.
                        purple 5     # Purple is after red.
                        green 7      \
                        yellow 8]

トリッキーな部分は、コメントが埋め込まれたリスト コマンドを続行する方法です。おそらく、C++ スタイルの /* ここに埋め込まれたコメントのようなものでしょう。*/ しかし、# は Tcl で行末へのコメントに使用されているように見えるだけで、開始および終了コメント構文には使用されていません。

4

2 に答える 2

6

いいえ、コマンドの呼び出し内にコメントを埋め込むことはできません。Tclのコメントは、他の言語のコメントと同じようには機能しません。一部の人々はこれにつまずきます、ほとんどの経験豊富なTclプログラマーはそれに考え直しません。

あなたが本当にこれをする必要があるまれな時、あなたは通常それを十分に簡単に回避することができます。あなたの例を使用して:

set myArray(red) 3
set myArray(blue) 4 ;# Blue is before purple
set myArray(purple) 5 ;# Purple is after red
set myArray(green) 7
set myArray(yellow) 8

これはすべてを1行で実行するよりも遅いと思うかもしれませんが、最もタイムクリティカルな状況を除いて、おそらく数マイクロ秒程度の違いはごくわずかです。

于 2009-09-23T17:28:27.873 に答える