Ответ 1
@newlist = (@genotypes, ('TT') x 20);
Да, это x
.
У меня есть массив @genotypes = "TT AG TT AG...."
и вы хотите добавить к нему всплеск (например, 20 x TT), чтобы создать новый массив.
Я могу, очевидно, push
"TT" в массив 20 раз, но есть ли более простой способ сделать это? (т.е. не @newarray = push @genotypes ("TT", "TT", "TT",......20 times!);
@newlist = (@genotypes, ('TT') x 20);
Да, это x
.
Оператор повторения является наиболее очевидным способом.
Вы также можете использовать map
:
@newarray = (@genotypes, map 'TT', 1..20);
Также существует способ foreach
нажатия нескольких одинаковых значений в массив:
push @newarray, 'TT' foreach (1..20);