Создать массив из n элементов - PullRequest
5 голосов
/ 18 марта 2020

Я ищу способ Perli sh для создания массива из n элементов, где каждый элемент равен 0.

Это лучшее, что я могу придумать:

#! /usr/bin/env perl

use warnings;
use strict;
use utf8;
use feature qw<say>;

print "Enter length of array: ";
chomp(my $len = <STDIN>);

my @arr = split // => "0" x $len;

say "@arr  ", scalar(@arr);

Я также смотрю на уменьшение List :: Util, но оно не было таким компактным, как приведенный выше фрагмент.

Ответы [ 2 ]

10 голосов
/ 18 марта 2020
Массивы

Perl расширяются по мере необходимости. Вам не нужно создавать их заранее. Почему вы хотите создать массив определенной длины?

Способ сделать то, что вы просите:

my @a = (0) x $n;

, где $n - это количество элементов, но опять же, это может быть неуместно. Расскажите подробнее о том, какую проблему вы пытаетесь решить.

0 голосов
/ 19 марта 2020

Менее элегантный способ заполнить массив некоторым значением (только для демонстрационных целей)

my $n = 8;
my @array;

$array[$n] = 0 while $n--;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...