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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     01 Aug 2003  15:00:56
 To : Alexander Orlovsky
 Subject : Re: Вопросы по Camelbook
 -------------------------------------------------------------------------------- 
 
 Хмутро.
 
 AO> Вот решил прочитать таки Camelbook полностью с начала, не обходя непонятные
 AO> вещи.
 AO> Соответственно вопросы есть. Думаю, спрашиваю в правильном месте.
 AO> Итак, сегодняшняя "порция" ;)
 
 AO> 1) стр 273, "прототипы"
 
 AO>  пользовательская функция try:
 
 AO> sub try(&$){          # <----(*)
 AO>    my ($try, $catch) = @_;
 AO>    eval { &$try };
 AO>    if ($@) {
 AO>        local $_ = $@; # <---(**)
 AO>        &$catch;
 AO>    }
 AO> }
 
 AO> Вопросы:
 AO> a.(*) прототип для параметров функции &$ что означает ссылку или анонимную
 AO> подпрограмму, тем не менее из @_ берется 2 таких ссылки (анонимнык
 AO> подпрограммы) Hо ведь в описании только одна указана? (см (*))
 
 Прототип означает ссылку на функцию (оно же "анонимная подпрограмма") _и_
 скаляр.
 
 AO> b.(**) Тут даже не вопрос, а уточнение. В строке (**) делается локальная
 AO> копия глобальной переменной $@ чтобы после отработки catch было доступно
 AO> ее старое значение.
 
 Угу.
 
 AO> 2 стр 275.
 
 AO> упоминается, что при разных прототипах:
 AO> sub func { } и sub func() { }
 AO> функция func() имеет "разную семантику вызова" и что "надо быть
 AO> осторожным" с этим. Что под этим подразумевается? Просто, я не вижу
 AO> проблемы, т.к. в первом случае функции просто передаются аргументы, а во
 AO> втором нет. А семантика вызова тут при чем? Можно проиллюстрировать?
 
 sub func { return 2 };
 print func+2;
 
 И то же самое с прототипом. Читать там же, в perldoc perlsub.
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Вопросы по Camelbook   Alexander Orlovsky   15 Jul 2003 10:15:27 
 Re: Вопросы по Camelbook   Alexander Orlovsky   16 Jul 2003 09:28:07 
 Re[2]: Вопросы по Camelbook   Mikhail Polykovsky   16 Jul 2003 09:35:44 
 Re: Re[2]: Вопросы по Camelbook   Alexander Orlovsky   16 Jul 2003 10:13:50 
 Re: Вопросы по Camelbook   Artem Chuprina   01 Aug 2003 14:52:57 
 Re: Вопросы по Camelbook   Ivan Pechorin   16 Jul 2003 10:41:14 
 Re: Вопросы по Camelbook   Alexander Orlovsky   16 Jul 2003 10:58:06 
 Re: Вопросы по Camelbook   Anatoly Moskovsky   16 Jul 2003 16:55:38 
 Re: Вопросы по Camelbook   Anatoly Moskovsky   16 Jul 2003 16:24:25 
 Re: Вопросы по Camelbook   Artem Chuprina   01 Aug 2003 15:00:56 
Архивное /ru.perl/114777b9276cb.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional