Я не вижу значения переменной экземпляра @model, когда я вызываю лямбда @description. Это возможно? Я вижу только «очень хорошо». когда я вызываю show_description. Спасибо заранее.Сохранить переменную экземпляра в блоке в Ruby
class Car
def initialize(model)
@model = model
end
def description
@description = lambda{yield}
end
def show_description
@description.call
end
end
c = Car.new("Ford")
c.description{"#{@model} is very good."}
puts c.show_description # => " is very good."
@CarySwoveland Да, это правильно .. 'cvar',' gvar' abd 'ivar' не нужно' {..} ', достаточно только' # '. ** Пример ** - '>> @x = 12 => 12 >>« У меня есть # @ x pens » =>« У меня 12 ручек »' –
Очень приятно, пила и хорошее объяснение. –
Большое спасибо. Метод из BasicObject, я не знал. –