Здравствуйте Иван,
Как разновидность, могу предложить на вскидку:
~~@a;
а вместо последнего:
* @arr = (1) x @arr; return length join('', @arr);
короче
say length( (1) x @a );
25 февраля 2017 г., 17:26 пользователь Иван Бессарабов via Moscow-pm <
[email protected]> написал:
> Я тут написал небольшой текст про базовую работу с массивами в 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
> [email protected] | http://moscow.pm.org
>
>
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org