Nikolay Mishin <[email protected]> писал(а) в своём письме Thu, 29 Dec 2011
15:07:45 +0400:
То есть создавать ссылки на функции - плохая идея
(у меня так и не заработала передача параметров)
ну в общем понятно,
объектов с пакетами должно быть достаточно
для всяких хитростей и усложнения кода
жаль!
Спасибо за настроение.
29.12.2011, 15:37, "Dmitry Karpich" <[email protected]>:
Исчо раз.
sub create_index ($$){
my ($fh, $idx_file)=@_;
print "create index func\n";
}
my $fh = 10;
my $idx_file = 20;
say ' - work, but looks strange';
my $index_func_name=\&create_index; # JUST &create_index, NOT
&create_index() !!!!!
$index_func_name->( $fh, $idx_file);
say ' - much better';
create_index $fh, $idx_file; # just func, don`t do that on class method
не усложняйте себе жизнь, а? :)
Митяй.
On Dec 29, 2011, at 1:16 PM, Nikolay Mishin wrote:
Митяй, спасибо;)) книжку уже перечитываю 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" <[email protected]>:
Потому что
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
[email protected] | http://moscow.pm.org
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org
--
Nikolay Mishin
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org
--
Nikolay Mishin
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org