|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Ivan Frolcov 2:5020/400 28 Feb 2003 13:38:50 To : Mikhail Polykovsky Subject : Re: Передача функции -------------------------------------------------------------------------------- On Fri, 28 Feb 2003 07:48:51 +0000 (UTC), Mikhail Polykovsky <glader@company.utk.ru> wrote: >Я хочу передать функцию как параметр. Где я ошибся? >#!perl -w >use strict; > >my_sub( { print join '|', @_ }, 'asd'); my_sub( sub { print join '|', @_ }, 'asd'); >sub my_sub{ > $sub = shift; > $string = shift; > > @arr = split //, $string; > > &$sub ( @arr ); # error >} > >Отвечает "Not a CODE reference" А то! Это ж hash reference! :-) >(кстати, правильно ли я понимаю, что функции типа map, grep устроены >примерно так же в смысле вызова?) А хз, как они устроены, но сильно вряд ли. Исходники смотри. --- ifmail v.2.15dev5 * Origin: Golden Telecom (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/2080745b4d88.html, оценка из 5, голосов 10
|