gets - チャネルから1行読み込みます。
gets channelId ?varName ?
このコマンドはchannelIdから次の行を読み、行終端文字まで(ただし行終端文字は含まない)行の内容すべてを返します。行終端文字は破棄されます。
ChannelId はTclの標準のチャネル( stdoutやstderr )のようなオープンされているチャネル識別
子でなければなりません。 openや socketコマンドによって返されるチャネル識別
子、 Tcl拡張に提供されたチャネル作成コマンドの結果などです。チャネルは入力用に
オープンされていなければなりません。
varNameが省略される場合、行はコマンドの結果として返されます。一方、varNameが指定される場合、名前varNameの変数に行は入れられ、
戻り値は返された文字の数になります。
行の終端を探しているうちにファイル終端になる場合、このコマンド
はファイル終端までの利用可能な入力を全部返します。channelIdが非ブロックモードで、それに1行分の入力がなければ、このコ
マンドは空文字列を返し、いかなる入力も消費しません。 varNameが指定され、ファイル終端あるいは非ブロックモードでのデータ不足によりvarNameに空文字列が返される場合、戻り値の数は-1となります。
varNameが指定されない場合、ファイル終端であるか、行が不完全であるか、あるいは行終端文字だけからなる入力行であるかに係わらず、同じ結果
が返されます。 eofと fblockedコマンドはこれらの3つのケースを識別
するために使えます。
file, eof, fblocked, Tcl_StandardChannels
blocking, channel,
end of file, end of line, line,
nonblocking, read
Copyright © 1993 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.
|