Ruby 变量的类型
在Ruby中,有不同类型的变量。
- 本地变量
- 实例变量
- 类变量
- 全局变量
在Ruby中,每个变量都是通过在变量名称的开头使用一个特殊的字符来声明的,这在下表中提到。
符号 | 变量的类型 |
---|---|
[a-z] 或 _ |
本地变量 |
@ |
实例变量 |
@@ |
类变量 |
$ |
全局变量 |
本地变量: 本地变量的名字总是以 小写字母(a-z)或下划线(_) 开头 。 这些变量在声明它们的代码结构中是局部的。一个局部变量只能在其初始化的区块内访问。本地变量在方法之外是不可用的。没有必要对局部变量进行初始化。
例子
实例变量: 一个实例变量的名字总是以 @ 符号开头。它们类似于类变量,但它们的值是对象的特定实例的局部。实例变量在任何指定的实例或对象的方法中都是可用的,也就是说,实例变量可以从一个对象变为另一个对象。不需要初始化实例变量,未初始化的实例变量总是包含一个 nil 值。
例子
输出
类变量 : 班级变量的名称总是以 @@ 符号开始。它可以在不同的对象中使用。类变量属于类,它是一个类的特征。它们在使用前需要被初始化。另一种思考类变量的方式是在单个类的范围内作为全局变量。一个类变量被该类的所有后代所共享。一个未初始化的类变量将导致一个错误。
例子
输出
全局变量: 全局变量的名字总是以 $ 开头 。 班级变量不能跨班使用。如果你想拥有一个可以跨类使用的单一变量,你需要定义一个全局变量。它的范围是全局的,意味着它可以在程序的任何地方被访问。默认情况下,未初始化的全局变量的值为零,它的使用会使程序变得隐蔽和复杂。
例子
输出