[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