2011-10-21 169 views
6

通常可以在.gemspec文件中看到。例如。 i18n.gemspec

$: << File.expand_path('../lib', __FILE__) 
+0

可能重複[在Ruby編程語言,什麼是$名稱:(http://stackoverflow.com/questions/7634686/在最紅寶石編程語言 - 什麼 - 是最名稱的) –

回答

13
Pre-defined variables 
$!   The exception information message set by 'raise'. 
[email protected]   Array of backtrace of the last exception thrown. 
$&   The string matched by the last successful match. 
$`   The string to the left of the last successful match. 
$'   The string to the right of the last successful match. 
$+   The highest group matched by the last successful match. 
$1   The Nth group of the last successful match. May be > 1. 
$~   The information about the last match in the current scope. 
$=   The flag for case insensitive, nil by default. 
$/   The input record separator, newline by default. 
$\   The output record separator for the print and IO#write. Default is nil. 
$,   The output field separator for the print and Array#join. 
$;   The default separator for String#split. 
$.   The current input line number of the last file that was read. 
$<   The virtual concatenation file of the files given on command line (or from $stdin if no files were given). 
$>   The default output for print, printf. $stdout by default. 
$_   The last input line of string by gets or readline. 
$0   Contains the name of the script being executed. May be assignable. 
$*   Command line arguments given for the script sans args. 
$$   The process number of the Ruby running this script. 
$?   The status of the last executed child process. 
$:   Load path for scripts and binary modules by load or require. 
$"   The array contains the module names loaded by require. 
$DEBUG  The status of the -d switch. 
$FILENAME Current input file from $<. Same as $<.filename. 
$LOAD_PATH The alias to the $:. 
$stderr The current standard error output. 
$stdin  The current standard input. 
$stdout The current standard output. 
$VERBOSE The verbose flag, which is set by the -v switch. 
$-0  The alias to $/. 
$-a  True if option -a is set. Read-only variable. 
$-d  The alias to $DEBUG. 
$-F  The alias to $;. 
$-i  In in-place-edit mode, this variable holds the extension, otherwise nil. 
$-I  The alias to $:. 
$-l  True if option -l is set. Read-only variable. 
$-p  True if option -p is set. Read-only variable. 
$-v  The alias to $VERBOSE. 
$ -w  True if option -w is set. 

上述捷徑是一個不幸的Perl時代錯誤!有些「英文名稱」可用於其中某些英文名稱,這些英文名稱是不言而喻的,應該在可用的情況下使用。

還看到:http://ruby.runpaint.org/globals

還看到:http://www.zenspider.com/Languages/Ruby/QuickRef.html

2

$:相當於$LOAD_PATH,即目錄列表,你可以從沒有給出更具體的路徑require文件。您會發現Ruby QuickRef對您可能遇到的其他預定義變量很有用。

3

$:是加載路徑,$LOAD_PATH是它的別名。當你在你的ruby應用程序中使用load/require庫/文件時,ruby在$:列出的目錄中搜索它們。使用$: << File.expand_path('../lib', __FILE__),您可以將特定目錄添加到加載路徑。