Ruby中的$ _ [0],$ _ [1]是什么?

Dud*_*ude 6 ruby

我是一名Java开发人员,我已经获得了Ruby代码以便理解并在以后继续工作.

我在tutorialspoint.com上浏览了Ruby教程,但我无法弄清楚是什么$_[0].

它被分配给代码中的变量,它绝对不是命令行参数,因为我编写了代码来测试它并且它失败了.那么,谁能说出它的意义呢?

Ser*_*sev 15

这是神奇的变量之一.

$_保存从标准输入读取的最后一行的值.$_[0]因此,是该字符串的第一个符号.

有关更多魔术变量,请参阅English.rb .

# 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          $_
Run Code Online (Sandbox Code Playgroud)

  • 虽然它是一个神奇的变量,但它实际上并不是全球性的.`$`有误导性. (3认同)

man*_*lds 5

$_ - 字符串最后读取 gets

[0] 当然,索引到该字符串.

http://www.rubyist.net/~slagell/ruby/globalvars.html