[Moscow.pm] function ref

Nikolay Mishin mi на ya.ru
Пт Янв 6 08:31:43 PST 2012


Да, Олег, согласен,
просто почему то или мне просто показалось,
в этом случае у меня возникали проблемы с передачей параметров
,но и с помощью
 my $in1=sub{return _generate_index( $_[0], $_[1] );};
а потом &$in1($a,$b);
можно иногда сокращать объем кода, в тестах например,
хотя безусловно ваш вариант нагляднее и вернее


05.01.2012, 23:55, "oleg alexeenkov" <proler на gmail.com>:
> Nikolay Mishin <mi на ya.ru> писал(а) в своём письме Wed, 04 Jan 2012
> 12:38:54 +0400:
>
>>  Еще раз всех с новым годом,
>
> почему бы не
>
>   my $r = timethese(
>       -3,
>       {
>           test  => sub { my $ko = invoke( $testfile,  \&_generate_index, 0
> ) },
>           test2 => sub { my $ko = invoke( $testfile2, \&_generate_index2, 0
> ) }
>       }
>   );
>   cmpthese $r;
>
> ?
>
>>  в общем решением моей проблемы стал такой код
>>
>>  my $index1=sub{return _generate_index( $_[0], $_[1] );};
>>  my $index2=sub{return _generate_index2($_[0], $_[1] );};
>>
>>  my $r = timethese(
>>      -3,
>>      {
>>          test  => sub { my $ko = invoke( $testfile,  $index1, 0 ) },
>>          test2 => sub { my $ko = invoke( $testfile2, $index2, 0 ) }
>>      }
>>  );
>>  cmpthese $r;
>>
>>  рабочий скрипт по ссылке
>>
>>  https://gist.github.com/1539975
>>
>>  30.12.2011, 20:10, "Dmitry Karpich" <meettya на gmail.com>:
>>>  Ну вот, уже лучше.
>>>
>>>  Теперь я Вам обещаю, что Вы получите ливелап если САМИ поймете, почему
>>>  написанное вами не подходит для задачи "у меня есть несколько функций и
>>>  я хочу сравнить их производительность".
>>>  Ну и прирожок, когда пофиксите, это будет черезвычайно просто.
>>>
>>>  Митяй.
>>>
>>>  PS. Вы были удивительно близко от правильного решения, но что заставило
>>>  Вас свернуть - ума не приложу.
>>>
>>>  On Dec 30, 2011, at 5:00 PM, Nikolay Mishin wrote:
>>>>   Спасибо огромное за  Higher Order Perl ,
>>>>   я тоже думал о $dispatch_table , но мне почему-то казалось, что она
>>>>  мне не подойдет,
>>>>   в итоге отказался и от нее, вот готовый тест, который получился
>>>>  (можно запускать с листа):
>>>>
>>>>   https://gist.github.com/1539975
>>>>
>>>>   29.12.2011, 19:08, "Alexey Surikov" <ksurent на gmail.com>:
>>>>>   Nikolay Mishin <mi на ...> writes:
>>>>>>    Митяй,
>>>>>>
>>>>>>    наверное, мне нужно поменять/упростить
>>>>>>    архитектуру скрипта
>>>>>   Гуглить dispatch tables до просветления.
>>>>>   Примеры есть в (теперь уже бесплатной) книге Higher Order Perl от
>>>>>  MJD.
>>>>>
>>>>>   --
>>>>>   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
>>>  --
>>>  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