В ruby вы можете достичь этого двумя способами
- определение вручную геттера и сеттера
- с использованием методов attr_ *
Позвольте мне описать вышеперечисленные способы для вас,
Определение геттера и сеттера вручную
class Human
def sex=(gender)
@sex = gender
end
def sex
@sex
end
end
//from outside class
human = Human.new
// getter method call
puts human.sex
// setter method call to explicitly set the instance variable
human.sex = 'female'
puts human.sex
// now this prints female which is set
с использованием методов attr_ *
class Human
attr_accessor :sex
end
//from outside
human = Human.new
// getter method call
puts human.sex
// setter method call to explicitly set the instance variable
human.sex = 'female'
puts human.sex
// now this prints female which is set
attr_accessor внутренне создает для вас методы setter и getter, если вам нужен только setter, вы можете просто использовать attr_writer, а если вам нужен только getter, вы можете использовать attr_reader
Надеюсь, я ответил на ваш вопрос