Provided by: manpages-zh_1.6.3.6-1_all bug

NAME

       puts - 向一個通道寫

總覽 SYNOPSIS

       puts ?-nonewline? ?channelId? string
_________________________________________________________________

描述 DESCRIPTION

       把用  string   給出的字元寫到用 channelId 給出的通道中。    ChannelId  必須是從以前的 opensocket  呼叫返回的一個通道識別符號。它必須為輸出而開啟。如果未指定 channelId   則取省為
       stdoutPuts  通常在    string 後面輸出一個換行字元,但可以透過指定    -nonewline 開關來禁
       止這個特徵。

       puts 依照給這個通道的 -translation   選項的值把在輸出中換行(Newline)字元轉換成特定於平臺的
       行結束序列(例如,在     PC    上換行一般被替換成回車換行(carriage-return-linefeed)序列;在
       Macintoshe 上換行通常被替換成回車符(carriage-returns))。關於 fconfigure   如何改變輸出的討
       論請參見 fconfigure   手冊條目。

       Tcl 在內部緩衝輸出,所以用 puts  寫的字元可能不會在輸出檔案或裝置上立即出現;Tcl  通常延遲
       輸出,一直等到緩衝區滿了或通道被關閉。你可以透過 flush     命令強制輸出立即出現。

       當輸出緩衝被添滿的時候,在所有緩衝的資料被作業系統接受以便輸出之前,puts      命令將一直阻
       塞。如果   channelId    在非阻塞模式下,那麼即使作業系統不接受這些資料,puts    命令也不阻
       塞。作為替代,Tcl   繼續緩衝這些資料並在後臺以底層的檔案或裝置可以接受的速度寫它們。要使非
       阻塞的輸出工作應用必須使用   Tcl 事件迴圈;否則 Tcl 不能發現檔案或裝置已經準備好接收更多的
       輸出資料。在非阻塞模式下的一個通道可以緩衝任意數量的資料,這可能消耗大量的記憶體。要避免浪
       費記憶體,非阻塞 I/O  通常應該以事件驅動的方式用於 fileevent   命令(除非在透過一個檔案事件
       得到指示,通知你通道已經準備好接收更多的資料,否則不要呼叫 puts)。

參見 SEE ALSO

       file(n), fileevent(n)

關鍵字 KEYWORDS

       channel, newline, output, write

[中文版維護人]

       寒蟬退士

[中文版最新更新]

       2001/10/17

《中國 Linux 論壇 man 手冊頁翻譯計劃》:

       http://cmpp.linuxforum.net

       本頁面中文版由中文 man 手冊頁計劃提供。
       中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh