ruby 中的变量

1、变量和常量:

全局变量用$;   实例变量用@;   类变量用@@;

Local Variable:  name fish_and_chips x_axis thx1138 _x _26
Instance Variable:   @name @point_1 @X @_ @plan9
Class Variable:  @@total @@symtab @@N @@x_pos @@SINGLE
Global Variable:   $debug $CUSTOMER $_ $plan9 $Global
Class Name: String ActiveRecord MyClass
Constant Name:   FEET_PER_MILE DEBUG

2、数组

a = [ ‘ant‘, ‘bee‘, ‘cat‘, ‘dog‘, ‘elk‘ ]
a[0]  # => "ant"
a[3]  # => "dog"
# this is the same:
a = %w{ ant bee cat dog elk }
a[0]  # => "ant"
a[3]  # => "dog"

ruby 中的变量

时间: 2024-10-05 05:58:41

ruby 中的变量的相关文章

ruby中实例变量、类变量等等的区别和联系

ruby的变量有局部变量,全局变量,实例变量,类变量,常量. 1.局部变量 局部变量以一个小写字母开头或下划线开头 局部变量有局部作用域限制(比如一个block内),它的作用域起始于声明处,结束于该声明所在的块.方法定义.类/模块定义的结尾.大家在写代码时经常这样写: irb(main):001:0> i=123    ---------- 这里的i就是局部变量 =>123 irb(main):002:0> s="hi"   ---------- 这里的s就是局部变量

ruby中的self

self,自己,在ruby中表示当前对象或默认对象.程序执行的任一时刻,有且仅有一个self. 1.谁成为self,在什么位置成为self? 要知道哪个对象是self,就必须知道当前的上下文.上下文主要有顶层上下文,类定义上下文,模块定义上下文,方法定义上下文.可以根据下图总结的内容进行self的判断. 上下文 例子 哪个对象是self 顶层 在任何定义块之外的代码 main(内建的默认顶层对象) 类定义 class C 类对象C 模块定义 module M 模块对象M 方法定义 1 顶层方法

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

转自:http://www.jb51.net/article/48802.htm Ruby 中充满了一系列的隐藏变量,我们可以从这些预定义的全局变量中获取一些有意思的信息. 全局进程变量 $$ 表示当前运行的 ruby 进程. >> $$=> 17170 我们可以从当前进程杀死它自己 >> `kill -9 #{$$}`[1]    17170 killed     irb $? 表示最近一个子进程的状态 >> `echo hello`=> "he

含有$的ruby中的一些变量

ruby comes with a set of predefined variables $: = default search path (array of paths) 其他Ruby特殊变量: $! 最近一次的错误信息 [email protected] 错误产生的位置 $_ gets最近读的字符串 $. 解释器最近读的行数(line number) $& 最近一次与正则表达式匹配的字符串 $~ 作为子表达式组的最近一次匹配 $n 最近匹配的第n个子表达式(和$~[n]一样) $= 是否区

ruby中的类实例变量和实例的实例变量

ruby中有实例变量这个语法,有点类似java的对象的属性,但是ruby中类也有实力变量, class Person @name = 'hello' def initialize(name,age) @name = name @age = age end def self.talk #类方法,类方法可以访问类的实力变量 puts "#{@name}" end def talk #实例方法,只能访问实例的实例变量 puts "#{@name}" end end p1

谈谈Ruby中的类变量

Ruby中的类变量,很多文章都是不太建议使用的,主要原因在于他的一些特性容易导致犯一些错误,尤其在广泛使用元编程的时候. 初步接触类变量可能觉得他跟C++的类静态成员和Java中的静态变量没什么区别,但在实际使用中一不留神就会掉到类变量的陷阱中去 陷阱1,类变量跟类实例变量不同,类实例变量关联的是self,但类变量关联的是当前类作用域 class C end class D end class C @@var = "C" def D.getvar @@var end end class

在 Ruby 中执行 Shell 命令的 6 种方法

我们时常会与操作系统交互或在 Ruby 中执行 Shell 命令.Ruby为我们提供了完成该任务的诸多方法. Exec Kernel#exec 通过执行给定的命令来替换当前进程,例如: $ irb >> exec 'echo "hello $HOSTNAME"' hello codefun $ 注意 exec 利用 echo 命令替换了 irb 进程,然后退出.因为 Ruby 实际上结束了该方法,所以只能有限使用.该方法的缺点是,你无法从 Ruby 脚本中知道命令是执行成功

理解Ruby中的作用域

作用域对于Ruby以及其它编程语言都是一个需要理解的至关重要的基础知识.在我刚开始学习ruby的时候遇到很多诸如变量未定义.变量没有正确赋值之类的问题,归根结底是因为自己对于ruby作用域的了解不够,但在你看看完我的这篇文章后,相信你不会再担心会遇到这些头疼的问题. 什么是作用域? 当谈论到作用域的时候,应该马上想到变量和可见性这两个词,变量和可见性是作用域的主要内容,没错,作用域就是关于在代码的什么地方什么变量是可见的,当你充分了解了作用域后,给你一段代码,你可以轻易知道此时什么变量是可见的,

关于ruby中的空指针保护(||=)

平时我们在写代码,构造嵌套数据或者给某个变量初始化时会用到下面这种形式: a ||= []  ; a = b || c ; a = a || [] 这种形式可以保证,在这些变量要被访问的时候才进行初始化,给我们构造数据带来了极大的灵活性:而这就是ruby中的空指针保护的应用. 要理解空指针保护的工作方式,要从ruby真假值和||操作法两方面着手: 首先,在ruby中除了nil和false被作为false外,其它值就被认为是true 其次,表面上||操作符会在两个表达式中任何一个为true时返回t