геттеры и сеттеры
допустим, наш обьект имеет несколько свойств, которые задаются в initialize
по умолчанию эти свойства нельзя ни получить ни изменить
class User
def initialize(options)
@name = options[:name] # с собачкой пишется инстансная переменная
@age = options[:age]
end
def name # геттер
@name
end
def name=(n) # сеттер
@name = n
end
def age
@age
end
def age=(a)
@age = a
end
end
но такой способ, имхо, неудобен/ т.к если много свойств, которые нужно получить и записать, будет очень много кода
есть способ проще:
class User
def initialize(options)
@name = options[:name]
@age = options[:age]
@weight = options[:weight] # третье свойство для полноты примера
end
attr_reader :name # позволяет читать свойство @name
attr_writer :weight # позволяет перезаписать @weight
attribute_accessor :age # позволяет и считать и записать @age
end
Koenig, про def тебе сказали , а option это, грубо говоря ассоциативный массив
No-Tactic, собака это типо $this->
Fenixrus, я только на PHP и JS нормально код могу писать.
Остальное так, поверхностно. Т.е практика мало или вовсе нет.
No-Tactic, я понимаю код любого языка, почти весь, все же они примерно из одного и того же состоят
L!MP, тогда я, знаешь, сколько языков знаю?