perl中是否有一行代碼可以實現這種功能。Perl數組操作
Array = [100,200,300,400,500];
percent = 50%
new_Array = [50,100,150,200,250];
也就是說,我給一個數組並指定一個百分比。它應該給我一個新的數組與給定的百分比的原始數組值。
應該照顧單數,並給我這個價值的上限或下限。
我知道如何手動完成。只是想知道perl在商店裏有什麼令人驚訝的東西?
謝謝。
perl中是否有一行代碼可以實現這種功能。Perl數組操作
Array = [100,200,300,400,500];
percent = 50%
new_Array = [50,100,150,200,250];
也就是說,我給一個數組並指定一個百分比。它應該給我一個新的數組與給定的百分比的原始數組值。
應該照顧單數,並給我這個價值的上限或下限。
我知道如何手動完成。只是想知道perl在商店裏有什麼令人驚訝的東西?
謝謝。
無論何時你想變換列表,map
是一個不錯的選擇。這裏有一個例子:
my @list = (100, 200, 300, 400, 500);
my @new = map { int($_ * 0.5) } @list;
print "@new";
輸出:
50 100 150 200 250
至於你問的Perl的單行確實神奇,那就是:
print join " ", map { int($_ * 0.5) } (qw(100 200 300 400 500));
這給
50 100 150 200 250
謝謝。這也起作用:) – jerrygo 2010-07-14 23:53:02
謝謝:),做圓整的東西。 – jerrygo 2010-07-14 23:52:34