深入探讨Ruby全局域变量

开发 开发工具
Ruby全局域变量是在整个应用中都可以访问到的,包括:$/ ;$\ ;$, ;$; ;$* ;$$ ;$:等等。在接下来的文章中将会对此详细介绍。

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

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,此时不会输出任何字符。

  1. irb(main):082:0> print "abc"   
  2. abc=> nil   
  3. irb(main):083:0> $\="@"   
  4. => "@"   
  5. irb(main):084:0> print "abc"   
  6. abc@=> nil 

Ruby全局域变量之$,

默认的切分字符。若Array#join中省略了参数时或在print的各个参数间将会输出它。
默认值为 nil ,等同于空字符串。 

  1. irb(main):087:0> ["a","b","c"].join   
  2. => "abc"   
  3. irb(main):088:0> $,="," 
    #修改切分字符为","   
  4. => ","   
  5. irb(main):089:0> ["a","b","c"]
    .join #输出结果改变   
  6. => "a,b,c"   
  7. irb(main):090:0> 

Ruby全局域变量之$;

当String#split中省略参数时的切分字符。默认值为nil,此时将进行特殊的分割。

  1. irb(main):090:0> $;   
  2. => nil   
  3. irb(main):091:0> "abc".split 
    #默认的切分字符情况下,把整个字符当成一个元素   
  4. => ["abc"]   
  5. irb(main):092:0> $;="b"   
  6. => "b"   
  7. irb(main):093:0> "abc".split 
    #以"b"为切分字符情况下,把整个字符当成两个元素   
  8. => ["a", "c"] 

Ruby全局域变量之$*

传递给Ruby脚本的参数.内部常数ARGV的别名

Ruby全局域变量之$$

当前运行中的Ruby进程的pid。 

  1. irb(main):094:0> $$   
  2. => 5167 

Ruby全局域变量之$:

$LOAD_PATH
包含一个数组,其内容是load或require加载文件时用的搜索目录列表. 

  1. irb(main):095:0> $:   
  2. => ["/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", "."]   

 

责任编辑:曹凯 来源: javaeye.com
相关推荐

2009-12-14 13:33:49

Ruby与Python

2009-12-16 16:44:31

Ruby on Rai

2010-01-22 13:31:49

局域网交换机

2009-12-23 16:13:00

WPF Attache

2010-07-21 09:38:15

PHP缓存技术

2010-11-22 14:18:32

MySQL锁机制

2021-05-17 05:36:02

CSS 文字动画技巧

2009-11-20 17:17:08

Oracle函数索引

2011-02-25 09:23:00

Java类加载器

2010-03-05 13:44:00

Python序列

2009-08-27 11:27:58

foreach语句C# foreach语

2015-09-02 08:57:56

JavaHashMap工作原理

2023-01-12 17:18:06

数据库多云

2010-03-31 14:58:03

云计算

2012-02-28 14:43:43

2017-01-03 17:57:46

Android异步精髓Handler

2024-01-26 06:42:05

Redis数据结构

2009-12-11 11:08:31

静态路由策略

2009-12-07 16:07:03

PHP类的继承

2009-10-16 09:17:39

屏蔽布线系统
点赞
收藏

51CTO技术栈公众号