Управление массивом Perl

Есть ли одна строка в жемчуге, который делает некоторое волшебство как это.

Array = [100,200,300,400,500];

percent = 50%

new_Array = [50,100,150,200,250];

Таким образом, я даю массив и указываю процент. И это должно дать мне новый массив с данным процентом значений исходного массива.

должен заботиться о нечетных числах и дать мне или потолок или этаж того значения.

Я знаю, как сделать это вручную. Просто удивление, если жемчуг имеет что-то удивляющее в хранилище?

Спасибо.

5
задан gobernador 11 June 2012 в 22:39
поделиться

3 ответа

Если вы хотите преобразовать список, используйте map . Вот пример:

my @list = ( 100, 200, 300, 400, 500 );
my @new  = map { int( $_ * 0.5 ) } @list;

print "@new";

Вывод:

50 100 150 200 250
3
ответ дан 18 December 2019 в 13:10
поделиться

map позволит вам преобразовать каждый элемент списка.

my $percent = 50;
my @original = qw/100 200 300 400 500/;
my @manipulated = map { $_ * $percent / 100 } @original;
7
ответ дан 18 December 2019 в 13:10
поделиться

Как вы просили одну строчку perl, которая творит чудеса, вот она:

print join " ", map { int( $_ * 0.5) } (qw(100 200 300 400 500));

это дает

50 100 150 200 250
4
ответ дан 18 December 2019 в 13:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: