🔬
[Ruby] あるインスタンスのブロック内で、そのインスタンスのメソッドやインスタンス変数を使う方法
instance_eval を使って実現
Ruby 3.0.0
Code
class Klass
def initialize &block
@instance_variable
instance_eval(&block) unless block.nil?
end
def instance_method
p @instance_variable
end
end
Using
klass_instance = Klass.new do
@instance_variable = :hoge
instance_method
end
Result
:hoge
Discussion