當我試圖在數組中打印一個特定的元素時,我錯誤地將[]中的同一個數組的名稱作爲元素鍵入,並得到如圖所示的輸出。我認爲它正在獲取數組的大小並打印該字符數,這被輸出證明是錯誤的。數組內部數組的插值
@array = (0..10, 12);
print "@array[@array]";
打印
Use of uninitialized value in join or string at
/home/VAR121/Program/Practise_Perl/Arrays.pl line 9.
0 1 2 3 4 5 6 7 8 9 10
我就先行一步,並如下圖所示
print "@array[@array[@array]]";
output as: `0 1 2 3 4 5 6 7 8 9 10 0` Use of uninitialized value in join or string at
/home/VAR121/Program/Practise_Perl/Arrays.pl line 9.
編輯的代碼現在我試圖把第二個數組中的一些,而不是再次給數組名如下。
print "@array[@array[1,2,3]]";
輸出
1 2 3
但沒有警告消息這一次。
它試圖打印什麼?這種行爲背後的原因是什麼。
'@ array'在索引外數組的方括號內的列表上下文中進行評估,因此該值是'@ array'中存儲的所有值的列表,這些值又被用作索引。所以這是不正確的,內部數組的值是12. – DavidO
@DavidO我說「a」的價值,因爲在其中一個,而不是「the」的價值。我會將其改爲「其中一個價值」。 –
我認爲這是一個很好的編輯。 :) – DavidO