我可以通過將其分配到一個標量得到一個數組的元素計數:獲取多個陣列的總元素計數
my $size = @array1;
我怎麼能拿5個陣列的總規模在同一時間?
my $size = @array1,@array2,@array3,@array4,@array5;
我可以通過將其分配到一個標量得到一個數組的元素計數:獲取多個陣列的總元素計數
my $size = @array1;
我怎麼能拿5個陣列的總規模在同一時間?
my $size = @array1,@array2,@array3,@array4,@array5;
如果你想數組長度的總和,
my $size = @array1 + @array2 + @array3 + @array4 + @array5;
或效率低的替代品,
# in scalar context map returns number of elements
my $size = map 1, @array1,@array2,@array3,@array4,@array5;
# make new array and dereference it (in scalar context)
my $size = @{[ @array1,@array2,@array3,@array4,@array5 ]};
非常感謝你 – user3717017
你試過了嗎?結果是什麼?請注意,您的選項1相當於
my $size = @array5;
當您每次創建一個新變量時。
我假設你想要所有陣列的大小在一起。
數組返回它們在標量上下文中的大小。列表不,它們返回它們的最後一個元素。
因此,
my $size = (@array1, @array2);
返回@數組2的大小。 (沒有括號,它返回@ array1的大小)。
您可以使用
my $size = @array1 + @array2;
+運算力標量上下文。
如果你想要,而不是大小的數組,使用
my @sizes = map scalar @$_, \@array1, \@array2;
感謝您的回覆... – user3717017
是你想在這裏實現什麼行爲? – Kaoru