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