在 Ruby 中,我们可以识别字为一个变数命名,名称没有长度限制。一个尚未初始之变数,其值为nil。

一个变数之名称若以小写英文字母 (a-z) 或底线字元 (_) 为首,则该变数即为区域变数或方法之参数。区域变数只能在它初始化之区块内存取。例如:

一个变数之名称若以 '@' 为首,即为实例本身的实例变数。实例变数属于实例之一部分,其意义等于 C++/Java 语言中之私有资料成员(private data member)。事实上,Ruby 严格遵守一个变数只能在其初始化区块中存取之定义,因此区块以外之叙述不允许存取实例内之变数。若外部想存取实例变数,只能透过实例的方法。

类在 Ruby 中也是一个实在的个体,因此类本身也有内部的变数。其意义等于C++/Java语言中之类别私有静态成员(private static class member)。

一个变数之名称若以 '$' 为首,即属全域变数;当程式运作时,可在任何地方存取它。 范例:

一个变数之名称若以大写英文字母 (A-Z) 为首,即为常数。Ruby 允许在初始化常数后又再次指派其他值,但会发出警告讯息。Ruby 的每个类都是一个常数。

若试图取得一个未初始常数之值,将会唤起一个NameError异常。

虚设变数具有变数的性质,但其意义固定,由 Ruby 按其意义决定虚设变数指涉的内容。若改变虚设变数之意义,将令 Ruby 发出异常。

指涉行为个体本身。和 C/C++ 语言之 this 关键字意义相同。