[Moscow.pm] function ref
Nikolay Mishin
mi на ya.ru
Чт Дек 29 02:16:26 PST 2011
Митяй, спасибо;)) книжку уже перечитываю 3-й раз,
особенно после Рефакторинга Фаулера, у них идее пересекаются
$$index_func_name->( $fh, $idx_file );
здесь у меня лишний доллар
работает и так
$index_func_name->( $fh, $idx_file );
но все-таки так прозрачно, как
&$index_func_name->( $fh, $idx_file ); !!
хотя так тоже работае, ок,
тогда ответ
&$index_func_name->( $fh, $idx_file ); !!
ясно видно, что вызывается функция
29.12.2011, 15:03, "Dmitry Karpich" <meettya на gmail.com>:
> Потому что
>
> my $ref_sub1=sub {print 'By '. $_[0] };
> sub temop_sub{ print 'Hi '. $_[0] };
> my $ref_sub=\&temop_sub; # !!!!! ссылка на sub а не ссылка на ее результат
>
> $ref_sub->(); # так - лучше всего
>
> &{$ref_sub1};
>
> Михаил, у вас же есть подписанная Larry книга, почитайте ее :)
>
> Митяй
>
> On Dec 29, 2011, at 12:48 PM, Nikolay Mishin wrote:
>
>> Hi MoscowPM
>>
>> my $ref_sub1=sub {print 'By '. $_[0] };
>> sub temop_sub{ print 'Hi '. $_[0] };
>> my $ref_sub=\&temop_sub();
>> $$ref_sub;
>> &$ref_sub;
>> Not a CODE reference at 11_sub_ref.pl line 5.
>> &{$ref_sub1};
>>
>> почему так?
>> почему я не могу вызывать именованную процедуру
>> &{$ref_sub1}; ??
>> ведь вызывать ссылку на код с помощью
>> & - лучше, чем с помощью $
>> здесь явно показывается, что вызывается процедура
>>
>> Спасибо.
>> --
>> Nikolay Mishin
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
--
Nikolay Mishin
Подробная информация о списке рассылки Moscow-pm