--- instance_eval(expr, [fname, [lineno=1]])
--- instance_eval {|obj| ... }

    ֥ȤΥƥȤʸ expr ɾƤη̤
    ޤ
    fnamelineno Ϳ줿ϡե fname
    ֹ lineno ˤʸ󤬤뤫Τ褦˥ѥ뤵졢
    åȥ졼ɽʤɤΥեֹ̾򺹤ؤ뤳ȤǤ
    

    ֥åͿ줿ˤϤΥ֥å򥪥֥ȤΥƥ
    ȤɾƤη̤֤ޤ֥åΰ obj ˤ 
    self Ϥޤ

    ֥ȤΥƥȤɾȤ self 򤽤Υ֥
    ȤˤƼ¹ԤȤȤǤޤʸ󡿥֥åǥ᥽
    ɤ self ðۥ᥽åɤޤ

    ѿ instance_eval γ¦Υפ
    ͭޤ

    ((**)): ᥽å instance_eval Υ֥åѤƥ
    åԤȡ"nested method definition" ȥѥ륨顼
    ˤʤޤϡߤ ruby ѡ¤Ǥ

        def foo
           instance_eval {
             def bar            # <- ͥȤ᥽åȽǤ
               "bar"
             end
           }
        end

        # => -:4: nested method definition

    ʸϤȤС¤ϲǤޤ

        def foo
           instance_eval %Q{
             def bar
               "bar"
             end
           }
        end

        # foo ¹Ԥȴؿ(̩ˤ foo Υ쥷ФΥ᥽å) bar 
        # 
        foo
        p bar
        # => "bar"

    ruby 1.7 feature: ᥽åΥͥȤ˴ؤơ¤Ϥ
    ʤäƤޤˡversion 1.7 ʹ instance_eval Ȥʤ
    ƤʲƱȤǤޤ(̩ˤϰۤʤޤ
    ᥽åΥͥ 򻲾ȤƤ
    )

        def foo
           def bar
             "bar"
           end
        end

        foo
        p bar
        # => "bar"

    Module#module_eval [Module/module_eval],
    Module#class_eval [Module/class_eval] ⻲ȤƤ

