Ruby实现类的instance属性有两种方法:
方法一:
class Person
def name
@name
end
def name= (name)
@name = name
end
def initialize(name)
@name = name
end
end
nh = Person.new('Ninghuan')
puts nh.name
nh.name = '宁欢'
puts nh.name
输出:
Ninghuan
宁欢
方法二:
class Person
attr_reader :name
attr_writer :name
def initialize(name)
@name = name
end
end
nh = Person.new('Ninghuan')
puts nh.name
nh.name = '宁欢'
puts nh.name
输出是一样的
第一种方法比较直观,第而中比较简单,建议使用第二种~~