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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     11 Jul 2002  21:42:08
 To : Artem Chuprina
 Subject : Re: переопределение функци  й
 -------------------------------------------------------------------------------- 
 
 Artem Chuprina wrote:
 
 > Здравствуй, Vladyslav Shvedenko.
 > 
 > VS> Hello, All!
 > VS> Вот пришлось столкнуться с таким явлением, как динамическое
 > VS> переопределение функций... вариант    sub f1 {return 1}    sub f2 {return 
 > VS> 5}    print &f1;    undef &f1;    *f1=\&f2;    print &f1; работает, тут
 > VS> вроде бы все ясно... а вот как это ж сделать без явного определения
 > VS> подставляемой функции f2    undef &f1;    @{&f1}={return 5}
 > 
 > *f1 = sub {return 5};
 
 С этой штукой надо поосторожней. Подводных камней много. Самый поверхностный -
 контроль прототипов функций. Более глубокие, к примеру, несовпадение пэкаджей
 у sub {...} и у f1, в результате чего можно ошибиться в том, какие же именно
 глобальные переменные "видит" функция main::f1. См. главу Symbol Tables в
 perldoc perlmod
 
 Андрей
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 переопределение функций   Vladyslav Shvedenko   11 Jul 2002 19:04:00 
 Re: переопределение функций   Artem Chuprina   11 Jul 2002 19:18:36 
 Re: переопределение функци й   Andrey Sapozhnikov   11 Jul 2002 21:42:08 
Архивное /ru.perl/528426e8ca24.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional