viktorvsk
@viktorvsk

Какими способами можно задать контекст eval?

class User

  def method
    var = "puts(@another_var)" 
    @another_var = 11
    eval(var)
  end
end


Желательно, что б можно было напрямую взаимодействовать с инстансом, без передачи целой копии объекта в лямбду (первое, что пришло в голову)
  • Вопрос задан
  • 2290 просмотров
Решения вопроса 2
AMar4enko
@AMar4enko
instance_eval(string [, filename [, lineno]] ) → obj
instance_eval {| | block } → obj

some_object.instance_eval do
    instance_method(10)
end
some_object.instance_eval('instance_method(10)')
Ответ написан
@fuCtor
Ruby разработчик
Либо вот еще вариант:
www.ruby-doc.org/core-2.1.5/Binding.html
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы