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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     28 Feb 2003  14:49:18
 To : Ivan Frolcov
 Subject : Re: Передача функции
 -------------------------------------------------------------------------------- 
 
 Ivan Frolcov wrote:
 
 > 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');
 > 
 
 [скип]
 
 >>(кстати, правильно ли я понимаю, что функции типа map, grep устроены
 >>примерно так же в смысле вызова?)
 > 
 > 
 > А хз, как они устроены, но сильно вряд ли. Исходники смотри.
 > 
 
 Да все просто устроено. Читать perldoc perlsub на предмет прототипов.
 Особое внимание уделить строке:
 
 An "&" requires an anonymous subroutine, which, if passed as the first
 argument, does not require the "sub" keyword or a subsequent comma.
 
 после чего определить my_sub как (&$) убрать в примере лишнюю запятую
 и наслаждаться результатом.
 
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Передача функции   Mikhail Polykovsky   28 Feb 2003 11:48:51 
 Re: Передача функции   Ivan Frolcov   28 Feb 2003 13:38:50 
 Re: Передача функции   Mikhail Polykovsky   28 Feb 2003 14:26:32 
 Re: Передача функции   Andrey Sapozhnikov   28 Feb 2003 14:49:18 
 Re: Передача функции   Ivan Frolcov   28 Feb 2003 16:28:00 
 Re: Передача функции   Artem Chuprina   28 Feb 2003 23:05:22 
 Re[2]: Передача функции   Mikhail Polykovsky   01 Mar 2003 10:01:08 
Архивное /ru.cgi.perl/6577797d1960.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional