什么是ruby中的“$:”?

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

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

 Pre-defined variables $! The exception information message set by 'raise'. $@ 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

$:是加载路径, $LOAD_PATH是它的别名。 当您在ruby应用程序中load / require库/文件时,ruby会在$:列出的目录中搜索它们。 使用$: << File.expand_path('../lib', __FILE__)您可以将特定目录添加到加载路径。

$:相当于$LOAD_PATH ,即您可以在不提供更具体路径的情况下从中获取文件的目录列表。 您会发现Ruby QuickRef对您可能遇到的其他预定义变量很有用。