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

Павел Купцов pavel на kuptsov.info
Пн Фев 27 04:11:26 PST 2017


И вот кстати:
perl -E "@arr=(1,(undef)x100,3); say @arr.length; say scalar @arr"
102
102


--
Павел

27 февраля 2017 г., 15:07 пользователь Павел Купцов <pavel на kuptsov.info>
написал:

> $ perl -E "@arr=(1, (undef) x 100, 3); say @arr.length"
> 102
> А что тут смущает?
> 1+100+1 = 102
>
>
> --
> Павел
>
> 27 февраля 2017 г., 14:53 пользователь Alessandro Gorohovski <
> an.gorohovski на gmail.com> написал:
>
>
>> 27 февраля 2017 г., 14:44 пользователь Павел Купцов via Moscow-pm <
>> moscow-pm на pm.org> написал:
>>
>>> v5.18.2
>>>
>>> perl -E "@arr=(1,2,3); say @arr.length"
>>>
>>> 3
>>>
>>
>> Спасибо. Шикарно :)
>>
>> Правда,
>> $ perl -E "@arr=(1, (undef) x 100, 3); say @arr.length"
>> 102
>>
>>
>>>
>>> --
>>> Павел
>>>
>>>>
>>>>
>>>> Нет речь не о привычке, перл мне как раз
>>>> более привычен чем другие языки.
>>>> Но логичный, читаемый вариант это не
>>>> scalar @array
>>>> а
>>>> length @array
>>>> потому что первый вариант требует
>>>> знать и помнить что делает массив в
>>>> скалярном контексте (как и знания
>>>> концепции контекстов перла), а второй
>>>> вариант не требует ничего кроме знания
>>>> английского языка.
>>>> Конечно опытный перловик не
>>>> испытывает с этим никаких проблем,
>>>> потому что привык, да вот только нет
>>>> ничего хорошего в том что язык вместо
>>>> очевидного решения предлагает
>>>> привычное.
>>>>
>>>>
>>>> Конец Дайджест списка рассылки Moscow-pm; том 112, выпуск 6
>>>> ************************************************************
>>>> ***********************************
>>>>
>>>
>>>
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>>>
>>>
>>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20170227/19e500d3/attachment-0001.html>


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