Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Perl - помогите с разыменованием...
Форумы портала PHP.SU » » Вопросы по Perl/Python/.NET » Perl - помогите с разыменованием...

Страниц (1): [1]
 

1. nr1994 - 29 Июня, 2012 - 21:49:55 - перейти к сообщению
Есть вот такой Хеш
%r = (a, sub {print 'Y'});
как вывести Y на экран???
Если вывожу значение Хеша print $r{a},"\n";
print values %r,"\n";
выводит CODE(0x482774)
как мне это разыменовать или как то по другому сделать??
подскажите плиз,люди добрые=)
2. JustUserR - 27 Июля, 2012 - 13:14:07 - перейти к сообщению
nr1994 пишет:
Как мне это разыменовать или как то по другому сделать??
Осуществление решения предполагаемой задачи, заключающейся в инициализации выполнения целевой интегрированнгой подпрограммы, что в общем случае является следствием требования о проведении получения оригинального ресмурса в первичном повышенном уровне базового элементного трактования, производится на основании использование символа спецификатора оригинального типа информационного поля, или же специализированной сокращенной конструкции, обеспечивающей автоматическое транспортирование ресурсов по оригинальной вложенной последовательности
CODE (Perl):
скопировать код в буфер обмена
  1.  
  2. %r = (a => sub {print 'Y'}); # Эквивалент с операцией большая стрелка
  3. &{$r{"a"}} # Идентификация подпрограммы через явную жесткую ссылку в спецификаторе типа информационного поля
  4. $r{"a"}->(); # Автоматическое разыменовывание через операцию малая стрелка
  5.  

 

Powered by ExBB FM 1.0 RC1