簡體   English   中英

美元和數字如何在perl中一起工作?

[英]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的第一個例子中提到了該用途。 它表示數組中最后一項的索引。

順便說一句,你也可以使用

$array[-1]

得到最后一項。

這給你最后一個索引。 它在perldata中有記錄 - http://perldoc.perl.org/perldata.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM