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

时间:2012-12-04 09:12:58

标签: ruby

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

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

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

2 个答案:

答案 0 :(得分:14)

这是一个神奇的变数。

$_保存从标准输入读取的最后一行的值。因此,$_[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          $_

答案 1 :(得分:5)

$_ - gets

最后一次读取的字符串

[0]当然是索引到该字符串。

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