[Moscow.pm] тест на понимание Perl

Oleg Kostyuk cub.uanic на gmail.com
Вт Янв 31 03:52:44 PST 2012


Знаете, в выражениях
  $cnt=scalar ( 1, 2, 3 );
  $cnt=scalar @cars;
присутсвие "scalar" избыточно, а PBP всего лишь набор _рекомендаций_,
местами - значительно устаревших.

И вообще - это совершенно разные выражения, так как в одном из них
список, а в другом - массив. Список - это не массив. И вообще не
структура данных. Это просто элемент синтаксиса. И путать их - это
примерно то же самое, что считать, что запись вида "if ($a>0) { ... }"
- тоже содержит список. Ну или массив... Ну а чё, тут же тоже скобочки
есть! :)

Прочитайте уже Кэмела, что ли :)


31 января 2012 г. 11:53 пользователь Nikolay Mishin <mi на ya.ru> написал:
> тест, конечно, клевый, но если писать по PBP (а в тесте ни одна строка не прошла бы perlcritic brutal),
> то лучше явно показывать контекст $cnt=scalar @cars;
> это не отменяет таких задачек (и было интересно их решать в уме) но в скриптах и модулях
> их быть не  должно, код должен читаться с листа без двусмысленностей
>
> 31.01.2012, 13:32, "Василий Рябов" <me на ryvasy.net>:
>> https://sites.google.com/a/koorchik.name/www/stati-1/test-na-ponimanie-perl
>>
>> Заинтересовал 4 вопрос.
>> Почему-то в переменную попадает значение последнего элемента списка.
>>
>> Стали ковыряться, обнаружили, что:
>>
>> $ perl -MO=Deparse -e '$a = ( 1, 2, 3 )'
>> $a = ('???', '???', 3);
>>
>> Что значат знаки вопроса? И откуда они берутся?
>>
>> --
>> 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



-- 
Sincerely yours,
Oleg Kostyuk (CUB-UANIC)


Подробная информация о списке рассылки Moscow-pm