“$ -w = true”有什么作用?

时间:2016-08-17 17:40:10

标签: ruby rack

我一直在阅读Rack的源代码,在server.rb我找到了:

$-w = true

它正在为全局变量赋值。文档说:

Options may include:
    # * :warn
    #     turn on warnings ($-w = true)

但是,对于我来说,这个全局变量如何工作仍然有点令人困惑,因为它不符合我理解的语言语法。

还试过这些:

$-w = "hello"
#=> "hello"

$-a = "hello"
#=> NameError: $-a is a read-only variable

$-b = "hello"
#=> "hello"

$-ww = "hello"
#=> SyntaxError: unexpected tIDENTIFIER, expecting end-of-input
$-ww = "hello"
    ^

1 个答案:

答案 0 :(得分:5)

-w是一个Ruby全局变量。

这来自documentation

  

$-0 $ /。

的别名      

$-a如果设置了选项-a,则为真。只读变量。

     

$-d $ DEBUG的别名。请参阅上面的$ DEBUG以获得进一步的讨论。

     

$-F $;。

的别名      

$-i在就地编辑模式下,此变量保存扩展名,   否则无。

     

$-I $:。

的别名      

$-l如果设置了选项-l,则为True。只读变量。

     

$-p如果设置了选项-p,则为真。只读变量。

     

$-v $ VERBOSE的别名。请参阅上面的$ VERBOSE进一步讨论。

     

$-w $ VERBOSE的别名。请参阅上面的$ VERBOSE进一步讨论。