なぜ次のことが起こるのかを誰かが説明するのはとても楽しいでしょうか?コードは次のとおりです。
#!/usr/bin/perl
use v5.14;
use warnings;
my @arr = (1, 2, 3);
sub func
{
return @arr;
}
push(&func(), 4);
say @arr;
実行しようとすると、出力はNot an ARRAY reference at ...
です。
これは、を&func()
評価するの@arr
ではなく、単純なリストを1, 2, 3
評価し、の引数1
として扱われるためだと思います。誰かがなぜこれが起こるのか説明できますか、ドキュメントでこれに関連するものは何も見つかりませんでした。ARRAY
push
push
前もって感謝します。