Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

配列にスカラを入れると

うう、疲れて眠い。
それよりも、今日気がついたことちょっとメモ。
配列の要素数を得るには、左辺をスカラで受ければよいけど、それを左右逆にしたら配列の要素数が予約できるのかと思った。

my @aaa = (1, 10, 100);
my $aaa_count = @aaa;
say "\@aaa have $aaa_count elements.";
#=> @aaa have 3 elements.

これを

my @aaa = 3;

こうしたら

my @aaa = (undef, undef, undef);

こんな感じかもと思ったけど、

use Data::Dumper;
my @aaa = 3;
say Dumper(@aaa);
#=> $VAR1 = 3;

数値リテラルとして最初の要素になってた。


予約するなら(そんな必要性がいつあるのか想像できないけれど)こうだな。

use Data::Dumper;
my @aaa;
$#aaa = 2;
say Dumper(@aaa);
#=> $VAR1 = undef;
#=> $VAR2 = undef;
#=> $VAR3 = undef;