Hatena::Grouparaistudy

czk-htnの日記

2006-08-30

[] yieldとインスタンスメソッド

ちょっと気になったのでこんなコードを実行してみた。o.func { hello }はどっちの出力をするのかな。

class MyClass
  def hello
    puts "Hello MyClass"
  end

  def func
    yield
  end
end

def hello
  puts "Hello"
end

hello
o = MyClass.new
o.hello
o.func { hello }

結果。インスタンスメソッドは実行されないみたい。どうしてだろう?インスタンスメソッドを実行するにはどうしたらいいんだろう?

% ruby sample02.rb
Hello
Hello MyClass
Hello

(2006.11.06 追記) id:czk-htn:20061106

(2006.11.07 追記) id:czk-htn:20061107

(2006.11.08 解決) id:czk-htn:20061108

[] ポジショニングペーパー

  1. ノイズのフィルタリング
  2. 衆愚化とかいわれる現象
  3. ソースの固定化

あたり皆がどう考えているのか知りたいな。

トラックバック - http://araistudy.g.hatena.ne.jp/czk-htn/20060830