我想在矢量的末尾添加一个数字“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