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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     14 Mar 2002  23:53:07
 To : Alex Dedul
 Subject : Re: объединение нескольких    выражений с помощью  &&
 -------------------------------------------------------------------------------- 
 
 Alex Dedul wrote:
 
 >     Возник небольшой вопрос касательно использования && для объединения
 > нескольких выражений в одну строку. Пишу следующее
 > 
 > /str:([^\s]+)/ && $resent{$1} = 1 for(<LIST>);
 > 
 >     и получаю ошибку
 > 
 > Can't modify logical and (&&) in scalar assignment at m.pl line 1, near "1
 > for"
 
 Все правильно. Учите приоритеты операций.
 
 >     Ладно, заключаю присваивание $resent в eval
 > 
 > /BOOK:([^\s]+)/ && eval('$resent{$1} = 1') for(<LIST>);
 
 Вот это уже совсем лишнее.
 
 /BOOK:([^\s]+)/ && ($resent{$1} = 1) for <LIST>;
 
 или лучше:
 
 /BOOK:([^\s]+)/ and $resent{$1} = 1 for <LIST>;
 
 будет правильным решением.
 
 >     и все прекрасно проходит. В чем тут дело ? Вопрос чисто академического
 > плана, поэтому советы переписать это иначе или довольствоваться тем что есть
 > не катят.
 
 Именно переписать. eval здесь применен без всякой причины, а выполняется он
 очень долго.
 
 >     Продублируйте ответ в нетмэйл, плиз, на линке висит около сотни метров
 > фэх.
 
 И не подумаю. Я тут резвлюсь.
 
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 объединение нескольких выражений с помощью &&   Alex Dedul   14 Mar 2002 19:57:50 
 Re: объединение нескольких выражений с помощью &&   Andrey Sapozhnikov   14 Mar 2002 23:53:07 
Архивное /ru.perl/528409bb23ab.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional