|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dmitry Koteroff 2:5020/400 10 Jun 2002 23:37:22 To : Bazil Subject : Re: Получить элемент хэша -------------------------------------------------------------------------------- Здравствуйте, Bazil. 10 июня 2002 года, понедельник, 17:19. Вы написали: > use strict; > print %{ { func() } }->{a}; > sub func { > ('a'=>1,'b'=>2); > } DK>> странно, почему это работает (-; DK>> Фактически, "->" подразумевает наличие слева СКАЛЯРА. DK>> А тут что?.. Слева - хэш (%). DK>> Загадка. Можно было бы подумать, что должно работать DK>> { func() }->{a} DK>> однако это не работает. > Да, очень странно. Hе клеится с Вашими куроводственными наблами... ;) А все дело в том, что print - не совсем функция (уже в который раз натыкаюсь). Вот такой код: sub echo { print $_[0] } sub func { return (a=>"aaa", b=>"bbb") } echo { func() }->{a}; прекрасно работает. Стоит заменить echo на print - и возникают ошибки. Кстати говоря, прописывание прототипа у echo HЕ помогает. -- С уважением, Дмитрий Котеров (dk@dklab.ru), ведущий программист. Лаборатория dk, http://www.dklab.ru --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6577945d7274.html, оценка из 5, голосов 10
|