お急ぎの方へ
Integerをはじめ、数値オブジェクトはfreezeされて変更を受け付けません。
よって、instance_evalのような破壊的メソッドは適用不能となります
本文
Integerにinstance_evalによるメソッド追加は不可能らしい……という話の記録メモです。
文字列等、別のアレであれば難なく定義可能です。
age = "hoge" "hoge" age.instance_eval {def next; :none; end} #:next age.next #:none
ところが、これが数値となると
age = Integer(20) // also age = 20 age.instance_eval {def next; :none; end} #2> TypeError: no class/module to add method
となり、メソッド追加不能といった感じのエラーがでます。
で、この一件の解決版がこちらshuzo-kino.hateblo.jp