読者です 読者をやめる 読者になる 読者になる

Ruby の eval でローカル変数に代入したかった

Ruby

Ruby#eval ではローカル変数を定義することはできませんが、インスタンス変数は定義する事ができるので、それを代替として使用することは可能です。

# ローカル変数定義はできない
# eval "a = 42"

# インスタンス変数は定義できる
eval "@a = 42"
p @a
# => 42