看到一行代码,发现$: 的用法,
$:.unshift(File.dirname(__FILE__) + '/../lib')
$: 相当于 $LOAD_PATH 包含一个数组,其内容是 load 或 require 加载文件时用的搜索目录列表.(记忆方法:冒号是环境变量 PATH 的切分符)
$:
$LOAD_PATH
抛砖引玉,谁还有其它的技巧?
http://ruby.runpaint.org/globals
要是 windows 系统呢,分隔符? http://www.zenspider.com/Languages/Ruby/QuickRef.html#pre-defined-global-constants
不喜欢这种写法,觉得比较恶,还是$LOAD_PATH 易懂。
http://www.zenspider.com/Languages/Ruby/QuickRef.html#pre-defined-variables pre-defined-variables 数量大于 pre-defined-global-constants
我经常$:其实是 你 load 过程中查询的目录,真的加载的过程是$'
经常$:.push 增加额外的目录写服务器脚本 还有$1 也经常用,匹配正则的第一个括号()
#5 楼 @Anleb 还有$2,$3 .... 看到一个例子
str = "http://www.example.co.jp/foo/?name=bar#baz" %r|^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?| =~ str puts $1, $2, $3, $4, $5, $6, $7, $8, $9
我原本就是这么记的。这都是 Matz 从 Perl 里面抄过来的。Matz 自己用的是 Debain, 而 Ruby 也是 linux 下开发出来的。(我怀疑咱社区很多人会以为 Ruby 是苹果下的产物)
#3 楼 @hhuai 倒是没有孰优孰劣,不过,从这一点倒是可以看出来 hhui 兄的确是没有 linux 背景的。
$! $@ $1..$9 经常用
$! $@ $1..$9
unshift 是 array 的用法,unshift/shift 跟 push/pop 一样只不过一个是从左边,一个是在右边。
$:是一个 array,
$打头的用的不多,_倒是经常用。
_
楼上的这些人肯定都没看过《Ruby 基础教程第 4 版》,不然翻翻后面的附录就知道了。