[Moscow.pm] function ref

Nikolay Mishin mi на ya.ru
Чт Дек 29 05:48:08 PST 2011


вот так, видимо, еще симатичнее
use strict;
use 5.010;

sub create_index ($$){
   my ($fh, $idx_file)=@_;
   say "create index func ZZ $fh, $idx_file\n";
   }
my $name   = 'create_index';
my $subref = \&$name;
&$subref('dynamic','invoke');


хотя и ,возможно, все это от лукавого и закладывает
мину в программу, т.к. симв ссылки могут привести к непредсказуемым результатам,
если в имени будет зарезервированное слово, 
будем об этом помнить

29.12.2011, 17:27, "Nikolay Mishin" <mi на ya.ru>:
> Митяй, еще раз, привет,
> так, меня Николай зовут, но это Бог с ним,
>
> классные наблы прочитал,
> получается так:
> sub create_index ($$){
>    my ($fh, $idx_file)=@_;
>    print "create index func ZZ $fh, $idx_file\n";
>    }
> $v='create_index';
> &{$v}(10);
> и ссылка не нужна, просто как параметр передаем имя функции!
> Спасибо
> &{'Dmitry_Karpich'}('пирожок');
>
> use 5.010;
> use Smart::Comments;
> my @nab=(1..23);
> $ref_nably_of=\@nab;
> for my $part (20..22){
> push @{$ref_wizdom},$ref_nably_of->[$part];
> }
> ### $ref_wizdom
>
> 29.12.2011, 16:22, "Dmitry Karpich" <meettya на gmail.com>:
>
>>  Михаил, почитайте
>>
>>  http://dklab.ru/chicken/nablas/20.html
>>  http://dklab.ru/chicken/nablas/21.html
>>  http://dklab.ru/chicken/nablas/22.html
>>
>>  особенно последнюю, но обязательно с первой.
>>
>>  On Dec 29, 2011, at 2:07 PM, Nikolay Mishin wrote:
>>>  То есть создавать ссылки на функции - плохая идея
>>>  (у меня так и не заработала передача параметров)
>>>  ну в общем понятно,
>>>  объектов с пакетами должно быть достаточно
>>>  для всяких хитростей и усложнения кода
>>>
>>>  жаль!
>>  --
>>  Moscow.pm mailing list
>>  moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Nikolay Mishin
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

--
Nikolay Mishin


Подробная информация о списке рассылки Moscow-pm