Flush — различия между версиями
Материал из Egghelp.ru - TCL/TK Eggdrop Wiki
Deniska (обсуждение | вклад) (Новая: Команда организует немедленную выдачу выходных данных в канал. '''СИНТАКСИС''' '''flush''' ''channelId'' '''ОПИСА...) |
Deniska (обсуждение | вклад) м (Защищена страница «Flush» [edit=sysop:move=sysop]) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 8: | Строка 8: | ||
Команда направляет накопленные в выходном буфере данные в канал с идентификатором '''channelId''' (значение идентификатора возвращается командами открытия канала [[open]] или [[socket]]), который должен быть открыт для записи. Если канал находится в блокирующем режиме, то команда будет оставаться незавершенной до тех пор, пока все содержимое буфера не будет отправлено в канал. Если канал находится в неблокирующем режиме, то команда может завершиться до окончания отправки выходных данных в канал. Остающиеся данные будут передаваться в канал в фоновом режиме с такой скоростью, с какой назначенный каналу файл или устройство сможет принимать их. | Команда направляет накопленные в выходном буфере данные в канал с идентификатором '''channelId''' (значение идентификатора возвращается командами открытия канала [[open]] или [[socket]]), который должен быть открыт для записи. Если канал находится в блокирующем режиме, то команда будет оставаться незавершенной до тех пор, пока все содержимое буфера не будет отправлено в канал. Если канал находится в неблокирующем режиме, то команда может завершиться до окончания отправки выходных данных в канал. Остающиеся данные будут передаваться в канал в фоновом режиме с такой скоростью, с какой назначенный каналу файл или устройство сможет принимать их. | ||
+ | == Пример == | ||
+ | set handl [open file.txt w] | ||
+ | for { set i 1 } { $i < 1000 } { incr i } { | ||
+ | puts $handl [rand $i] | ||
+ | } | ||
+ | flush $handl | ||
+ | close $handl | ||
== См. также == | == См. также == | ||
* [[open]] - открытие канала | * [[open]] - открытие канала | ||
+ | * [[close]] - закрытие канала | ||
* [[socket]] - открытие TCP соединение | * [[socket]] - открытие TCP соединение | ||
+ | * [[rand]] - генерация случайного числа | ||
+ | * [[for]] - оператор цикла | ||
* [http://www.tcl.tk/man/tcl8.5/TclCmd/flush.htm TCL.tk - flush] | * [http://www.tcl.tk/man/tcl8.5/TclCmd/flush.htm TCL.tk - flush] | ||
[[Category:TCL]] | [[Category:TCL]] |
Текущая версия на 19:18, 25 октября 2008
Команда организует немедленную выдачу выходных данных в канал.
СИНТАКСИС
flush channelId
ОПИСАНИЕ Команда направляет накопленные в выходном буфере данные в канал с идентификатором channelId (значение идентификатора возвращается командами открытия канала open или socket), который должен быть открыт для записи. Если канал находится в блокирующем режиме, то команда будет оставаться незавершенной до тех пор, пока все содержимое буфера не будет отправлено в канал. Если канал находится в неблокирующем режиме, то команда может завершиться до окончания отправки выходных данных в канал. Остающиеся данные будут передаваться в канал в фоновом режиме с такой скоростью, с какой назначенный каналу файл или устройство сможет принимать их.
Пример
set handl [open file.txt w] for { set i 1 } { $i < 1000 } { incr i } { puts $handl [rand $i] } flush $handl close $handl