チャネルに書き出します。string解説stringで与えられた文字をchannelIdで与えられたチャネルに書き出します。channelIdはTclの標準チャネル(stdoutかstderr)のようなオープンチャネル識別子でなければなりません。それは過去のopenやsocketの呼び出しから返される値か、Tcl拡張で提供したチャネル作成コマンドの結果です。出力用にオープンされていなければなりません。stdoutがデフォルトとなります。putsは普通、stringの後に改行文字を出力します。この仕様は-nonewlineスイッチを指定することで抑制できます。シーケンスに置き換えられます。Macintoshでは改行は常にcarriage-returnsに置き換えられます)。fconfigureが出力を変える方法に関する説明はfconfigureマニュアルエントリを参照してください。Tclは内部的に出力をバッファするので、putsで書き出された文字は出力ファイルやデバイスに直ちに現れるとは限りません。Tclは出力をバッファがいっぱいになるか、チャネルがクローズされるまでに遅延させます。flushコマンドで直ちに出力するよう強制することができます。出力として受け入れられるまでブロックします。channelIdが非ブロックモードである場合、putsコマンドはオペレーティングシステムがデータを受け入れられなくてもブロックしません。代わりにTclはデータをバッファし続け、対象となるファイルやデバイスが受け入れられるようになったときにバックグラウンドで書き出します。Tclのアプリケーションは、非ブロック出力を動作させるために、Tclのイベントループを使う必要があります。ないと、Tclはファイルやデバイスがそれ以上の出力データを読めるようになったことに気づきません。非ブロックモードでは任意の大きさのデータがチャンネルでバッファされることができるので、多くのメモリを使われてしまいます。(ファイルイベントを通してチャネルがもっとデータを読めるとの通知を受けなければputsを呼び出してはなりません)。