İçinde 'boş yuvalara' ile bir dizi oluşturabilirsiniz:'Boş yuvalarla' anonim dizi ([]) nasıl oluşturulur?
$ perl -wde 1
...
DB<1> $x[2] = 0
DB<2> x \@x
0 ARRAY(0x103d5768)
0 empty slot
1 empty slot
2 0
veya
DB<3> $#y = 4
DB<4> x \@y
0 ARRAY(0x103d5718)
0 empty slot
1 empty slot
2 empty slot
3 empty slot
4 empty slot
Lütfen dikkat: Bu
undef
atama gibi aynı değildir.
Ama bunu [
ve ]
kullanarak anonim bir dizi için nasıl belirtebilirim?
DB<5> x [,,0]
syntax error at (eval 27)[/usr/local/lib/perl5/5.10.0/perl5db.pl:638] line 2, near "[,"
Ve sadece atanmış değeri elde beri bu da başarısız:
Bu işe yaramaz
DB<6> x []->[2] = 0
0 0
Bonus soru: Ben bir 'boş dizi yuvası' için nasıl kontrol edebileceklerini Perl betiğimde mi?
Amaç: benim test komut dosyaları ben tam dizi içeriğini karşılaştırabilir olmak istiyorum. Örneğin 'atanmamış' ve 'undef değeriyle atanan' arasında ayrım yapmak istiyorum.
Her türlü anlayış için teşekkürler.
kullanarak, bir diziye doğrudan atama nasıl demek '[]' anonim dizi için, var olanla test edildiğinde false döndüren dizinin içinde değerlere sahip midir? – TLP
Evet. Tembel olmak, bunu tek bir ifadede belirtmek güzel olurdu. Aksi halde 'undef' kullanmam veya birden fazla ifadede yapmam gerek. – hexcoder