[英]How do dollar and number sign together work in perl?
今天我遇到了一個問題,需要我確定perl中數組的最大索引。 我曾經這樣做過:
my @array = (1, 2, 3);
print $array[@array - 1];
但今天我偶然發現了這段代碼:
my @array = (1, 2, 3);
print $array[$#array];
我在文檔中找不到任何關於此事的內容。 $#
construct究竟是什么? 那是運營商嗎? 它是如何工作的,它比第一段代碼更快嗎? 它總是返回最大數組索引嗎? 是否已棄用?
我知道這是很多問題,但它們都可以用一個來概括,這就是我真正想知道的: 它是如何工作的?
這在perldoc perldata中記錄,“標量值”部分 。 簡而言之, $#array
是@array
的最后一個索引。 至於它是如何工作的 - 它有點像操作員,但只有$
和@
是運營商。 將其視為特殊語法。 數組的最后一個索引恰好是“有一個名字”。 這是一個可以讀取和分配的變量。
這給你最后一個索引。 它在perldata中有記錄 - http://perldoc.perl.org/perldata.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.