深入探討Ruby全局域變量
對(duì)于一個(gè)程序員來(lái)說(shuō),越簡(jiǎn)便、越靈活的語(yǔ)言,越是他們需要的。Ruby語(yǔ)言就是這樣一種。我們?cè)谶@里為大家介紹的Ruby全局域變量是整個(gè)應(yīng)用中都可以訪問(wèn)的,而且是同一個(gè)變量的引用。是全局作用域的。#t#
Ruby全局域變量之$/
輸入記錄分隔符。默認(rèn)值為"\n"。
- irb(main):076:0> $/ #初始的輸入分割符
- => "\n"
- irb(main):077:0> gets
- => "\n"
- irb(main):078:0> "test"
#輸入回車之后,默認(rèn)插入"\n",輸入結(jié)束 - => "test"
- irb(main):079:0> $/="@"
#修改輸入符為"@" - => "@"
- irb(main):080:0> gets
#輸入回車之后沒(méi)有結(jié)束讀取進(jìn)程,
直到輸入"@"之后結(jié)束 - test
- @
- => "test\n@"
Ruby全局域變量之$\
輸出記錄分隔符。print會(huì)在最后輸出該字符串。
默認(rèn)值為nil,此時(shí)不會(huì)輸出任何字符。
- irb(main):082:0> print "abc"
- abc=> nil
- irb(main):083:0> $\="@"
- => "@"
- irb(main):084:0> print "abc"
- abc@=> nil
Ruby全局域變量之$,
默認(rèn)的切分字符。若Array#join中省略了參數(shù)時(shí)或在print的各個(gè)參數(shù)間將會(huì)輸出它。
默認(rèn)值為 nil ,等同于空字符串。
- irb(main):087:0> ["a","b","c"].join
- => "abc"
- irb(main):088:0> $,=","
#修改切分字符為","- => ","
- irb(main):089:0> ["a","b","c"]
.join #輸出結(jié)果改變- => "a,b,c"
- irb(main):090:0>
Ruby全局域變量之$;
當(dāng)String#split中省略參數(shù)時(shí)的切分字符。默認(rèn)值為nil,此時(shí)將進(jìn)行特殊的分割。
- irb(main):090:0> $;
- => nil
- irb(main):091:0> "abc".split
#默認(rèn)的切分字符情況下,把整個(gè)字符當(dāng)成一個(gè)元素- => ["abc"]
- irb(main):092:0> $;="b"
- => "b"
- irb(main):093:0> "abc".split
#以"b"為切分字符情況下,把整個(gè)字符當(dāng)成兩個(gè)元素- => ["a", "c"]
Ruby全局域變量之$*
傳遞給Ruby腳本的參數(shù).內(nèi)部常數(shù)ARGV的別名
Ruby全局域變量之$$
當(dāng)前運(yùn)行中的Ruby進(jìn)程的pid。
- irb(main):094:0> $$
- => 5167
Ruby全局域變量之$:
$LOAD_PATH
包含一個(gè)數(shù)組,其內(nèi)容是load或require加載文件時(shí)用的搜索目錄列表.
- irb(main):095:0> $:
- => ["/usr/local/lib/site_ruby/1.8",
"/usr/local/lib/site_ruby/1.8/i486-linux",
"/usr/local/lib/site_ruby/1.8/i386-linux",
"/usr/local/lib/site_ruby", "/usr/lib/ruby
/vendor_ruby/1.8", "/usr/lib/ruby/vendor_
ruby/1.8/i486-linux", "/usr/lib/ruby/vendor_
ruby", "/usr/lib/ruby/1.8", "/usr/lib/ruby/
1.8/i486-linux", "/usr/lib/ruby/1.8/i386-
linux", "."]