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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     28 Feb 2003  23:05:22
 To : Andrey Sapozhnikov
 Subject : Re: Передача функции
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Andrey Sapozhnikov.
 
 AS> >>Я хочу передать функцию как параметр. Где я ошибся?
 AS> >>#!perl -w
 AS> >>use strict;
 AS> >>
 AS> >>my_sub( { print join '|', @_ }, 'asd');
 AS> > 
 AS> > 
 AS> > my_sub( sub { print join '|', @_ }, 'asd');
 AS> > 
 AS> [скип]
 AS> >>(кстати, правильно ли я понимаю, что функции типа map, grep устроены
 AS> >>примерно так же в смысле вызова?)
 AS> > 
 AS> > 
 AS> > А хз, как они устроены, но сильно вряд ли. Исходники смотри.
 AS> > 
 
 AS> Да все просто устроено. Читать perldoc perlsub на предмет прототипов.
 AS> Особое внимание уделить строке:
 
 AS> An "&" requires an anonymous subroutine, which, if passed as the first
 AS> argument, does not require the "sub" keyword or a subsequent comma.
 
 AS> после чего определить my_sub как (&$) убрать в примере лишнюю запятую
 AS> и наслаждаться результатом.
 
 Ты забыл сказать, что прототип должен быть описан до использования. Впрочем, в
 perldoc perlsub это написано...
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (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/14454823506de.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional