深入探讨Ruby全局域变量

对于一个程序员来说,越简便、越灵活的语言,越是他们需要的。Ruby语言就是这样一种。我们在这里为大家介绍的Ruby全局域变量是整个应用中都可以访问的,而且是同一个变量的引用。是全局作用域的。

Ruby全局域变量之$/

输入记录分隔符。默认值为"\n"。

  1. irb(main):076:0> $/ #初始的输入分割符   
  2. => "\n"   
  3. irb(main):077:0> gets   
  4. => "\n"   
  5. irb(main):078:0> "test" 
    #输入回车之后,默认插入"\n",输入结束   
  6. => "test"   
  7. irb(main):079:0> $/="@" 
    #修改输入符为"@"   
  8. => "@"   
  9. irb(main):080:0> gets 
    #输入回车之后没有结束读取进程,
    直到输入"@"之后结束   
  10. test   
  11. @   
  12. => "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全局域变量之$:

相关推荐