我想串聯一個標量與數組名稱,但不知道該怎麼辦。 可以說,我們有兩個爲環(嵌套在其它內部的一個)等連接標量與數組名稱
for ($i = 0; $i <= 5; $i++) {
for ($k = 0; $k <=5; $k++) {
$array[$k] = $k;
}
}
我想創建5個陣列與名字,如@array1
,@array2
,@array3
等在每個陣列的端部的數字表示的$i
當值正在創建數組。 有沒有辦法做到這一點?
感謝
我想串聯一個標量與數組名稱,但不知道該怎麼辦。 可以說,我們有兩個爲環(嵌套在其它內部的一個)等連接標量與數組名稱
for ($i = 0; $i <= 5; $i++) {
for ($k = 0; $k <=5; $k++) {
$array[$k] = $k;
}
}
我想創建5個陣列與名字,如@array1
,@array2
,@array3
等在每個陣列的端部的數字表示的$i
當值正在創建數組。 有沒有辦法做到這一點?
感謝
如果你的意思是創建實際變量,一方面,它是一個壞主意,和另一個,沒有點。你可以簡單地訪問一個變量而不用創建或聲明它。這是一個糟糕的主意,因爲它正是一種散列,而且沒有任何缺點。
my %hash;
$hash{array1} = [ 1, 2, 3 ];
那裏,現在你已經創建了一個數組。要訪問它,這樣做:
print @{ $hash{array1} };
混雜鍵(名字)可以動態創建,就像你想要的,所以很容易創建5個不同的名稱,並給它們賦值。
for my $i (0 .. 5) {
push @{ $hash{"array$i"} }, "foo";
}
當字符用作變量或數組/散列名稱時,需要將字符添加到字符中。
嘗試這種情況:
for ($i = 0; $i <= 5; $i++){
for ($k = 0; $k <=5; $k++){
${"array$k"}[$k] = $k;
}
}
print "array5[4] = $array5[4]
array5[5] = $array5[5]\n";
array5 [4] =
array5 [5] = 5
不能與工作['strict'](HTTP://perldoc.perl .ORG/strict.html)。改用散列。 –