`
jsntghf
  • 浏览: 2468438 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

ruby中的全局域变量

阅读更多

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@" 
 

二、$\

 

输出记录分隔符。print会在最后输出该字符串。 默认值为nil,此时不会输出任何字符。

 

irb(main):082:0> print "abc"   
abc=> nil   
irb(main):083:0> $\="@"   
=> "@"   
irb(main):084:0> print "abc"   
abc@=> nil

 

三、$,

 

默认的切分字符。若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"  
 

四、$; 

 

当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脚本的参数,ARGV的别名。

 

六、$$

 

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

 

irb(main):094:0> $$   
=> 5167 
 

七、$:

 

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

 

irb(main):095:0> $:   
=> ["/Users/gaohf/NetBeansProjects/RailsApplication1/app/controllers", "/Users/gaohf/NetBeansProjects/RailsApplication1/app/helpers", "/Users/gaohf/NetBeansProjects/RailsApplication1/app/models", "/Users/gaohf/NetBeansProjects/RailsApplication1/app/views", "/Users/gaohf/NetBeansProjects/RailsApplication1/config", "/Users/gaohf/NetBeansProjects/RailsApplication1/db", "/Users/gaohf/NetBeansProjects/RailsApplication1/lib", "/Users/gaohf/NetBeansProjects/RailsApplication1/log", "/Users/gaohf/NetBeansProjects/RailsApplication1/public", "/Users/gaohf/NetBeansProjects/RailsApplication1/test", "/Users/gaohf/NetBeansProjects/RailsApplication1/script", "/Users/gaohf/NetBeansProjects/RailsApplication1/doc", "/Users/gaohf/NetBeansProjects/RailsApplication1/vendor", "/Users/gaohf/NetBeansProjects/RailsApplication1/test", "/Library/Ruby/Site/1.8", "/Library/Ruby/Site/1.8/powerpc-darwin10.0", "/Library/Ruby/Site/1.8/universal-darwin10.0", "/Library/Ruby/Site", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin10.0", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin10.0", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0", "."]
 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论
1 楼 sevk 2011-10-05  
这 : http://www.zenspider.com/Languages/Ruby/QuickRef.html#19

相关推荐

    解析 ruby 全局变量

    ruby> $foo nil ruby> $foo = 5 5 ruby> $foo 5 应谨慎使用全局变量.由于在任何地方都可以被写因此他们相当危险.滥用全局变量会导致很难隔离臭虫;同时也视为程序的设计未经严格考虑.当你发现必须要使用全局...

    类变量、全局变量、实例变量, 多态、为什么ruby、ruby编码规范

    类变量、全局变量、实例变量, 多态、为什么ruby、ruby编码规范

    Ruby 中$开头的全局变量、内部变量、隐藏变量介绍

    Ruby 中充满了一系列的隐藏变量,我们可以从这些预定义的全局变量中获取一些有意思的信息。 全局进程变量 $$ 表示当前运行的 ruby 进程。 代码如下:>> $$=> 17170我们可以从当前进程杀死它自己 代码如下:>> `kill -9...

    Ruby中的变量学习总结

    Ruby中的变量有几种形式,分别是局部变量、实例变量、类变量、全局变量,对于初学者来说,常常容易搞混,尤其像本人这种做java的,理解起来还是头痛,经过仔细辨别学习,将这几种变量的差异及使用场景总结如下: ...

    实例讲解Ruby中的五种变量

    Ruby 全局变量 全局变量以 $ 开头。未初始化的全局变量的值为 nil,在使用 -w 选项后,会产生警告。 给全局变量赋值会改变全局状态,所以不建议使用全局变量。 下面的实例显示了全局变量的用法。 #!/usr/bin/ruby ...

    详细解析Ruby中的变量

    Ruby的全局变量: 全局变量以$开头。未初始化的全局变量的值是零,并使用-w选项产生警告。 全局变量的赋值会改变全局状态。这是不推荐使用全局变量。他们使得程序的含义模糊。 下面是一个例子显示使用全局变量。 #!...

    vue2中使用sass并配置全局的sass样式变量的方法

     Sass是一种强大的css扩展语言(css本身并不是一门语言),它允许你使用变量、嵌套规则、mixins、导入等css没有但开发语言(如Java、C#、Ruby等)有的一些特性,并且完全兼容CSS语法。Sass有助于保持大型样式表结构...

    深入分析Ruby 变量

    Ruby 全局变量 全局变量以 $ 开头。未初始化的全局变量的值为 nil,在使用 -w 选项后,会产生警告。 给全局变量赋值会改变全局状态,所以不建议使用全局变量。 下面的实例显示了全局变量的用法。 #!/us

    i18n-globals:增加了对I18n全局变量的支持,该变量可用于对每个转换进行插值

    用全局变量扩展Ruby I18n gem。 全局变量可用于每个转换中的插值,而无需在对I18n.translate的调用中显式指定它们。 可以通过I18n.config.globals访问变量。 安装 将此行添加到您的应用程序的Gemfile中: gem 'i18...

    ruby 局部变量

    局部变量不像全局和实变量一样在初始化前含nil值. ruby> $foo nil ruby> @foo nil ruby> foo ERR: (eval):1: undefined local variable or method `foo’ for main(Object) 对局部变量的第一次赋值做的...

    ruby 变量

    Ruby有三类变量,一种常量和两种严格意义上的伪变量(pseudo-variables).变量和常量都没有类型.... 由首字母标识符将其分类: $ 全局变量 @ 实变量 [a-z] 局部变量 [A-Z] 常量 唯一的例外是Ruby的伪变量:self

    非常好的Ruby中文版项目资源,分享出来.zip

    这是 Ruby User’s Guide的简体中文版本:Ruby用户指南。 本指南基于Mark Slagell的英文译本翻译而来,指南最初的...全局变量 实例变量 局部变量 类常量 异常处理:rescue 异常处理:ensure 访问器 对象初始化

    ruby 实变量

    像全局变量一样,实变量在初始前的值是nil. Ruby的实变量用不着声明.这暗含着对象的弹性结构.实际上,每个实变量都是在第一次出现时动态加入对象的. ruby> class InstTest | def set_foo(n) | @foo = n | end ...

    pooled_redis:无需全局变量即可访问redis连接的简单方法

    池化Redis 无需全局变量即可访问 redis 连接的简单方法。 通过database.yml提供Rails.redis_pool和Rails.redis方法和配置。 您可以将此方法添加到自定义模块。安装将此行添加到应用程序的 Gemfile 中: gem 'pooled_...

    ruby语法基础教程

    §3.8.4 全局变量 28 §3.8.5 常量 28 §3.8 与定义有关的操作 29 §3.8.1 alias 29 §3.8.2 undef 30 §3.8.3 defined? 31 第四章 基本类型 33 §4.1 Array 33 §4.2 Hash 34 §4.3 Number 34 §4.4 String 35 §...

    nbio:Ruby 的 Node.js 中的非阻塞 IO 事件循环

    没有伪装成 C 静态变量、Ruby 常量或类变量的全局变量 没有可疑的默认值或常量值 事件循环在当前 Ruby 绿色线程中运行 后台没有隐式单例(如 EventMachine、Node.js、curl 绑定等) 因此,支持多个同时循环,每个...

    ffi:Ruby FFI

    特征直观的DSL 支持所有C本机类型C结构(也嵌套),枚举和全局变量从C到Ruby的回调自动对本机内存进行垃圾回收概要require 'ffi'module MyLib extend FFI :: Library ffi_lib 'c' attach_function :puts , [ :string...

    authlete-ruby-sample-server:使用 Authlete 在 Ruby 中实现 OAuth 2.0 服务器的示例

    authlete-ruby-sample-server 概述 使用 Authlete 在 Ruby 中实现 OAuth 2.0 服务器的示例。 server.rb是实现 OAuth 2.0 端点(授权端点...下载源代码后,使用文本编辑器打开server.rb并更改以下全局变量的值。 $SERV

Global site tag (gtag.js) - Google Analytics