|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Bulat Ziganshin 2:5093/4.126 03 Apr 2002 17:35:45 To : Andrey Sapozhnikov Subject : Hебольшой вопрос -------------------------------------------------------------------------------- Wednesday April 03 2002, Andrey Sapozhnikov writes to Artem Chuprina: AS> push(/a/?@a:@b, $_) foreach @list; AS> # Error: Type of arg 1 to push must be array (not null operation)... AS> # контроль прототипов не пустил? AS> # Ведь может определить, что это ARRAY (см. пример 1), но не делает. AS> push(@{\(/a/?@a:@b)}, $_) foreach @list; AS> # И это тоже работает как положено. AS> # "Бессмысленный" reference-dereference AS> # заставил поверить, что это ARRAY? в перле есть такая фишка - тип выражения (скаляр/массив/хеш) определяется его синтаксисом. т.е. @... - всегда массив, а $... - всегда скаляр. видиом, тип ?: определён как "всегда скаляр" вместо анализа операндов или run-time определения, чего в перле вообще не предусмтрено Bulat, mailto:bulatz-AT-fort.tatarstan.ru, ICQ: work 15872722, home 11849833 ... Иногда для того, чтобы изменить свое восприятие мира, ... люди пытаются изменить сам мир --- GoldED+/W32 1.1.2 * Origin: Сетевой фильтр на 5 базаров (2:5093/4.126) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/33403cab3e54.html, оценка из 5, голосов 10
|