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", "."]
分享到:
相关推荐
ruby> $foo nil ruby> $foo = 5 5 ruby> $foo 5 应谨慎使用全局变量.由于在任何地方都可以被写因此他们相当危险.滥用全局变量会导致很难隔离臭虫;同时也视为程序的设计未经严格考虑.当你发现必须要使用全局...
类变量、全局变量、实例变量, 多态、为什么ruby、ruby编码规范
Ruby 中充满了一系列的隐藏变量,我们可以从这些预定义的全局变量中获取一些有意思的信息。 全局进程变量 $$ 表示当前运行的 ruby 进程。 代码如下:>> $$=> 17170我们可以从当前进程杀死它自己 代码如下:>> `kill -9...
Ruby中的变量有几种形式,分别是局部变量、实例变量、类变量、全局变量,对于初学者来说,常常容易搞混,尤其像本人这种做java的,理解起来还是头痛,经过仔细辨别学习,将这几种变量的差异及使用场景总结如下: ...
Ruby 全局变量 全局变量以 $ 开头。未初始化的全局变量的值为 nil,在使用 -w 选项后,会产生警告。 给全局变量赋值会改变全局状态,所以不建议使用全局变量。 下面的实例显示了全局变量的用法。 #!/usr/bin/ruby ...
Ruby的全局变量: 全局变量以$开头。未初始化的全局变量的值是零,并使用-w选项产生警告。 全局变量的赋值会改变全局状态。这是不推荐使用全局变量。他们使得程序的含义模糊。 下面是一个例子显示使用全局变量。 #!...
Sass是一种强大的css扩展语言(css本身并不是一门语言),它允许你使用变量、嵌套规则、mixins、导入等css没有但开发语言(如Java、C#、Ruby等)有的一些特性,并且完全兼容CSS语法。Sass有助于保持大型样式表结构...
Ruby 全局变量 全局变量以 $ 开头。未初始化的全局变量的值为 nil,在使用 -w 选项后,会产生警告。 给全局变量赋值会改变全局状态,所以不建议使用全局变量。 下面的实例显示了全局变量的用法。 #!/us
用全局变量扩展Ruby I18n gem。 全局变量可用于每个转换中的插值,而无需在对I18n.translate的调用中显式指定它们。 可以通过I18n.config.globals访问变量。 安装 将此行添加到您的应用程序的Gemfile中: gem 'i18...
局部变量不像全局和实变量一样在初始化前含nil值. ruby> $foo nil ruby> @foo nil ruby> foo ERR: (eval):1: undefined local variable or method `foo’ for main(Object) 对局部变量的第一次赋值做的...
Ruby有三类变量,一种常量和两种严格意义上的伪变量(pseudo-variables).变量和常量都没有类型.... 由首字母标识符将其分类: $ 全局变量 @ 实变量 [a-z] 局部变量 [A-Z] 常量 唯一的例外是Ruby的伪变量:self
这是 Ruby User’s Guide的简体中文版本:Ruby用户指南。 本指南基于Mark Slagell的英文译本翻译而来,指南最初的...全局变量 实例变量 局部变量 类常量 异常处理:rescue 异常处理:ensure 访问器 对象初始化
像全局变量一样,实变量在初始前的值是nil. Ruby的实变量用不着声明.这暗含着对象的弹性结构.实际上,每个实变量都是在第一次出现时动态加入对象的. ruby> class InstTest | def set_foo(n) | @foo = n | end ...
池化Redis 无需全局变量即可访问 redis 连接的简单方法。 通过database.yml提供Rails.redis_pool和Rails.redis方法和配置。 您可以将此方法添加到自定义模块。安装将此行添加到应用程序的 Gemfile 中: gem 'pooled_...
§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 §...
没有伪装成 C 静态变量、Ruby 常量或类变量的全局变量 没有可疑的默认值或常量值 事件循环在当前 Ruby 绿色线程中运行 后台没有隐式单例(如 EventMachine、Node.js、curl 绑定等) 因此,支持多个同时循环,每个...
特征直观的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 服务器的示例。 server.rb是实现 OAuth 2.0 端点(授权端点...下载源代码后,使用文本编辑器打开server.rb并更改以下全局变量的值。 $SERV