我想在矢量的末尾添加一個數字「1」或「0」的元素。讓我們說,我有兩種不同長度的2D矢量等在矢量的末尾添加一個元素
vector[0][0] = 1
vector[0][1] = 3
vector[1][0] = 2
vector[1][1] = 4
vector[1][2] = 5
我想在每個矢量的端的數目增加(基於如果命令)1或0;輸出是前人的精力:
vector[0][0] = 1
vector[0][1] = 3
vector[0][2] = 1
vector[1][0] = 2
vector[1][1] = 4
vector[1][2] = 5
vector[1][3] = 0
在其中加入新的元素是vector[0][2] = 1
和vector[1][3]=0
。
我想somenthing喜歡的:
for my $i (0..$#vector) {
for my $j (0..$#{ $vector[$i] }) {
if($prob_friendship > (my $random_number=rand())) {
push @{ $vector[$i][$j] }, 1;
}
else {
push @{ $vector[$i][$j] }, 0;
}
}
}
,但它給我的錯誤Can't use string ("1") as an ARRAY ref while "strict refs" in use at distribuzione2.pl line 42, <STDIN> line 5.
任何幫助嗎?
的$prob_friendship
值在輸入由keyborad
我推薦'push @ {$ vector [$ i]},...;'因爲'push $ vector [$ i],...;'是'高度實驗',因此它只適用於一些陣列。 – ikegami 2013-03-27 09:58:26
@ikegami應該可以在一個普通的未經過數組的數組上運行,但我已經回到原來的語法,因爲您建議。 – Alnitak 2013-03-27 10:00:02