나는 Ruby를 연구 중이며 뇌는 그냥 얼어 붙었다.Ruby에서 클래스 변수에 대한 작성기 메소드를 작성하려면 어떻게해야합니까?
다음 코드에서 'self.total_people'에 대한 클래스 작성기 메서드를 작성하는 방법은 무엇입니까? 저는 'Person'클래스의 인스턴스 수를 '계산'하려고합니다. 좀 더 정확하게 total_people 정의 할 수 current_people
def self.total_people=(v)
@@total_people = v
end
당신은 @@의 모든 인스턴스를 옮기고 :
class Person
attr_accessor :name, :age
@@nationalities = ['French', 'American', 'Colombian', 'Japanese', 'Russian', 'Peruvian']
@@current_people = []
@@total_people = 0
def self.nationalities #reader
@@nationalities
end
def self.nationalities=(array=[]) #writer
@@nationalities = array
end
def self.current_people #reader
@@current_people
end
def self.total_people #reader
@@total_people
end
def self.total_people #writer
#-----?????
end
def self.create_with_attributes(name, age)
person = self.new(name)
person.age = age
person.name = name
return person
end
def initialize(name="Bob", age=0)
@name = name
@age = age
puts "A new person has been instantiated."
@@total_people =+ 1
@@current_people << self
end