Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Ilya Rubtsov                         2:5020/400     16 Jun 2000  22:04:14
 To : All
 Subject : Re: Разница между while и for(foreach)
 -------------------------------------------------------------------------------- 
 
 On Fri, 16 Jun 2000 12:48:49 +0400, Serg Kruchenuk
 <Serg.Kruchenuk@p47.f8.n4625.z2.fidonet.org> wrote:
 
 >Выполняется скpипт по Вин98 + perl v5.6.0 built 613 (activestate)
 
 А если на нормальной версии Перла попробовать?
 
 >while <MYFILE> {
 
 Что тут происходит? При каждом проходе в блоке условия проворачивается
 процедура вида $_ = <MYFILE>. В скалярном контексте файл-хэндлер
 выдает следующую строку файла(строку -- по дефолту. Кажись про $/
 читать надо). В итоге файл последовательно "умно" читается по одной
 строке. Причем файл целиком в память не загружается. Как оно
 реализовано -- дело разработчиков Перла, но ИМХО это единственное
 спасение при чтении больших файлов.
 
 >foreach <MYFILE> {
 
 А вот тут уже происходит совсем иное. Здесь оператору foreach
 требуется массив. А в списковом контексте файл-хэндлер выдает _все_
 оставшиеся до конца файла строки. Все твои 35 метров. Удивлен?
 
 >/Вопpос: Кто виноват и почему так пpоисходит?/
 
 Руки виноваты. И недостаточное время, уделяемое чтению доков.
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Разница между while и for(foreach)   Ilya Rubtsov   16 Jun 2000 22:04:14 
 Разница между while и for(foreach)   Oleg Bakiev   19 Jun 2000 18:46:52 
 Re: Разница между while и for(foreach)   Artem Chuprina   20 Jun 2000 12:28:37 
 Разница между while и for(foreach)   Serg Kruchenuk   21 Jun 2000 10:20:00 
 Re: Разница между while и for(foreach)   Artem Chuprina   22 Jun 2000 12:15:06 
Архивное /ru.perl/2080924f8d77.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional