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

Alessandro Gorohovski an.gorohovski на gmail.com
Сб Фев 25 07:00:46 PST 2017


Здравствуйте Иван,

Как разновидность, могу предложить на вскидку:

~~@a;

а вместо последнего:
 * @arr = (1) x @arr; return length join('', @arr);
короче
say length( (1) x @a );


25 февраля 2017 г., 17:26 пользователь Иван Бессарабов via Moscow-pm <
moscow-pm на pm.org> написал:

> Я тут написал небольшой текст про базовую работу с массивами в Perl
> ( https://ivan.bessarabov.ru/blog/perl-arrays )
>
> Пока писал, нашел 8 способов как можно узнать количество элементов в
> массиве.
>
> Несколько лет назад тут в рассылке был отличный тред с кучей разнообразных
> способов как можно очистить массив. Андрей даже блиц доклад про это делал —
> https://www.slideshare.net/andy.sh/clean-array/1
>
> Наверняка размер массива можно узнать еще кучей способов. Я нашел вот такие
> варианты:
>
>  * scalar @arr;
>  * @arr + 0;
>  * @arr . '';
>  * $#arr + 1;
>  * push(@arr, 1) - 1;
>  * unshift(@arr, 1) - 1;
>  * my $i = 0; $i++ foreach @arr; return $i;
>  * @arr = (1) x @arr; return length join('', @arr);
>
> Что еще можно придумать?
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20170225/a557324d/attachment.html>


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