Bu aptalca bir soru olabilir ... Aşağıdaki kod sırasıyla @arrayref
ve @arraycont
'un içeriğini çıkarıyor. Aralarındaki fark ile bunların değerlerinin atanma biçimini not edin. İsimsiz dizinin ne yaptığını biliyorum ama neden bir fark olduğunu kimse anlatabilir mi?Perl: anonim dizi karşısında dizi başvurusu
Çok teşekkür ederim.
@arrayref =();
@array = qw(1 2 3 4);
$arrayref[0] = \@array;
@array = qw(5 6 7 8);
$arrayref[1] = \@array;
print join "\t", @{$arrayref[0]}, "\n";
print join "\t", @{$arrayref[1]}, "\n";
@arraycont =();
@array = qw(1 2 3 4);
$arraycont[0] = [@array];
@array = qw(5 6 7 8);
$arraycont[1] = [@array];
print join "\t", @{$arraycont[0]}, "\n";
print join "\t", @{$arraycont[1]}, "\n";
çıkışları
5 6 7 8
5 6 7 8
1 2 3 4
5 6 7 8
A * sığ * kopyasıdır kopyalama sırasında başlamıştı olsun arraycont 'İçerdiği referanslar o zaman [@array]' aynı referansları içerecektir. Derin/sığ fark bu durumda geçerli değildir ama yine de bahsetmeye değer olduğunu düşündüm. –
Teşekkürler, güncellendi. – yamen