Ruby 教程 之 Ruby 变量 3
Ruby 变量
变量是持有可被任何程序使用的任何数据的存储位置。
Ruby 支持五种类型的变量。
一般小写字母、下划线开头:变量(Variable)。
$开头:全局变量(Global variable)。
@开头:实例变量(Instance variable)。
@@开头:类变量(Class variable)类变量被共享在整个继承链中
大写字母开头:常数(Constant)。
您已经在前面的章节中大概了解了这些变量,本章节将为您详细讲解这五种类型的变量。
Ruby 类变量
类变量以 @@ 开头,且必须初始化后才能在方法定义中使用。
引用一个未初始化的类变量会产生错误。类变量在定义它的类或模块的子类或子模块中可共享使用。
在使用 -w 选项后,重载类变量会产生警告。
下面的实例显示了类变量的用法。
实例
!/usr/bin/ruby
class Customer
@@no_of_customers=0
def initialize(id, name, addr)
@cust_id=id
@cust_name=name
@cust_addr=addr
end
def display_details()
puts "Customer id #@cust_id"
puts "Customer name #@cust_name"
puts "Customer address #@cust_addr"
end
def total_no_of_customers()
@@no_of_customers += 1
puts "Total number of customers: #@@no_of_customers"
end
end
创建对象
cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")
调用方法
cust1.total_no_of_customers()
cust2.total_no_of_customers()
尝试一下 »
在这里,@@no_of_customers 是类变量。这将产生以下结果:
Total number of customers: 1
Total number of customers: 2