evalメソッドは実行中のコンテキストを共有するが、変数の宣言はできない
# 先に定義されている変数ならば実行コンテキストは共有なのでaは変更される a = 10 eval "a = 1" p a #=> 1 # 定義されていない変数をevalで定義しても実行コンテキストにbは存在しない eval "b = 10" p b #=> NameError