2016-08-17 3 views
3

Ich habe Rack-Quellcode zu lesen, und in server.rb ich gefunden:

$-w = true 

Es hat einen Wert einer globalen Variablen zugewiesen wird. Die Dokumentation sagt:

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

Aber noch ist es ein wenig verwirrend für mich, wie die globale Variable funktioniert, wie es nicht auf die Sprachsyntax Ich verstehe nicht haftet.

versucht, auch diese:

$-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" 
    ^

Antwort

5

-w ein Ruby globale Variable ist.

Dies ist aus der documentation:

$-0 Der Alias ​​/ $.

$-a Wahr, wenn die Option -a gesetzt ist. Schreibgeschützte Variable

$-d Der Alias ​​von $ DEBUG. Siehe oben unter $ DEBUG zur weiteren Diskussion.

$-F Der Alias ​​zu $ ​​;.

$-i Im In-Place-Edit-Modus enthält diese Variable die Erweiterung ansonsten nil.

$-I Der Alias ​​zu $ ​​:.

$-l Wahr, wenn die Option -l gesetzt ist. Schreibgeschützte Variable

$-p Wahr, wenn Option -p gesetzt ist. Schreibgeschützte Variable

$-v Ein Alias ​​von $ VERBOSE. Siehe $ VERBOSE oben für weitere Diskussion.

$-w Ein Alias ​​von $ VERBOSE. Siehe $ VERBOSE oben für weitere Diskussion.