[Moscow.pm] Как узнать количество элементов в массиве?

Victor Efimov victor на vsespb.ru
Пн Фев 27 04:18:16 PST 2017


27 февраля 2017 г., 15:16 пользователь Павел Купцов
<pavel на kuptsov.info> написал:
> Вот ссылку на доку найти не могу пока :)

я думал ты пошутил. но всё ещё хуже :)
выше Vladimir Lettiev показал где это документировано и почему так
делать не надо

> Найдено методом научного тыка.
> И кстати очень интересно еще вот что:
>
> perl -E "@arr=(1,(undef)x100,3); say @arr.len"
> 102len
>
> И вообще любые символы конкат. просто к кол-ву эл-тов.
> А вот при length - выводит без прибавления... Может надо залезть в сурсы
> перла посмотреть
>
> --
> Павел
>
> 27 февраля 2017 г., 15:12 пользователь Victor Efimov <victor на vsespb.ru>
> написал:
>>
>> 27 февраля 2017 г., 14:44 пользователь Павел Купцов via Moscow-pm
>> <moscow-pm на pm.org> написал:
>> > v5.18.2
>> >
>> > perl -E "@arr=(1,2,3); say @arr.length"
>> >
>> > 3
>> >
>>
>> а где это документировано?
>>
>> >
>> > --
>> > Павел
>> >>
>> >>
>> >>
>> >> Нет речь не о привычке, перл мне как раз
>> >> более привычен чем другие языки.
>> >> Но логичный, читаемый вариант это не
>> >> scalar @array
>> >> а
>> >> length @array
>> >> потому что первый вариант требует
>> >> знать и помнить что делает массив в
>> >> скалярном контексте (как и знания
>> >> концепции контекстов перла), а второй
>> >> вариант не требует ничего кроме знания
>> >> английского языка.
>> >> Конечно опытный перловик не
>> >> испытывает с этим никаких проблем,
>> >> потому что привык, да вот только нет
>> >> ничего хорошего в том что язык вместо
>> >> очевидного решения предлагает
>> >> привычное.
>> >>
>> >>
>> >> Конец Дайджест списка рассылки Moscow-pm; том 112, выпуск 6
>> >>
>> >>
>> >> ***********************************************************************************************
>> >
>> >
>> >
>> > --
>> > Moscow.pm mailing list
>> > moscow-pm на pm.org | http://moscow.pm.org
>> >
>
>


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