История изменений
Исправление cdshines, (текущая версия) :
Скажем в выражении a=2, «=» - это оператор присваивания.
теперь точно вкурил
Не вкурил ты. Если а - инстанс класса, = отработает только так, как положено, т. е. содержимое объекта справа станет и содержимым объекта слева. А special-k привел пример того, что можно - сеттеры переменных инстанса, когда ты внутрях у а какие-то переменные, опять же, стандартным поведением = изменяешь. Ты должен сам себе понять, что переопределение = в стиле
И все - же, можно ему задать что-то иное, нежели привязываение значения к переменной?
невозможно. То есть = будет присваивать содержимое, так или иначе. можешь, конечно, сделать
def a=(arg)
puts "#{a}, #{arg}"
end
Исходная версия cdshines, :
Скажем в выражении a=2, «=» - это оператор присваивания.
теперь точно вкурил
Не вкурил ты. Если а - инстанс класса, = отработает только так, как положено, т. е. содержимое объекта справа станет и содержимым объекта слева. А special-k привел пример того, что можно - сеттеры переменных инстанса, когда ты внутрях у а какие-то переменные, опять же, стандартным поведением = изменяешь. Ты должен сам себе понять, что переопределение = в стиле
И все - же, можно ему задать что-то иное, нежели привязываение значения к переменной?
невозможно. То есть = будет присваивать содержимое, так или иначе. можешь, конечно, сделать def a=(arg) puts «#{a}, #{arg}» end но это уже совсем лютый пи$#ец.