人気ブログランキング | 話題のタグを見る

instance_eval

instance_eval (expr) は Object クラスのインスタンスメソッドで、オブジェクトのコンテキストで文字列 expr を評価してその結果を返す。

サンプルプログラム instance_eval.rb

class A
  def initialize( name )
    @name = name
  end

  def print
    puts @name
  end
end

require 'irb'
IRB.start

実行例

>ruby instance_eval.rb
irb(main):001:0> a = A.new('Spiderman')
=> # irb(main):002:0> a.print
Spiderman
=> nil
irb(main):003:0> a.instance_eval("print")
Spiderman
=> nil

ひとのソースを読むと自分では一度も使ったことのないような メソッドが出てくるので勉強になる。
by tnomura9 | 2008-03-30 12:17 | Ruby | Comments(0)
<< module_eval irb の起動 >>