我是一名Java開發人員,我已經被授予了Ruby代碼來理解和以後的工作。
我經歷了tutorialspoint.com上的Ruby教程,但我無法弄清楚$_[0]
是什麼。
它被分配給代碼中的一個變量,它絕對不是命令行參數,因爲我編寫了代碼來測試它,並且它失敗了。那麼,誰能說出它的意義呢?
我是一名Java開發人員,我已經被授予了Ruby代碼來理解和以後的工作。
我經歷了tutorialspoint.com上的Ruby教程,但我無法弄清楚$_[0]
是什麼。
它被分配給代碼中的一個變量,它絕對不是命令行參數,因爲我編寫了代碼來測試它,並且它失敗了。那麼,誰能說出它的意義呢?
這是一個神奇的變數。
$_
保存從標準輸入讀取的最後一行的值。因此,$_[0]
是該字符串的第一個符號。
更多的魔術變量
# The last line read by <tt>Kernel.gets</tt> or
# <tt>Kernel.readline</tt>. Many string-related functions in the
# +Kernel+ module operate on <tt>$_</tt> by default. The variable is
# local to the current scope. Thread local.
alias $LAST_READ_LINE $_
儘管這是一個魔術變量,但它並不是全球性的。 '$'是誤導性的。 –
謝謝,糾正。 –
葉普,大部分的「魔術變種」其實都是「魔術線索 - 當地人」。 –
儘管Ruby支持很多「神奇」的變量,它們的用途是有爭議的,而且,當你看到有些的維護問題,因爲他們是模糊的。我建議查看英文模塊以獲取更多可讀的變量名稱。 –