def bar()
"outer bar"
end
class Foo
def bar()
"my bar"
end
def test(&block)
block.call
end
def test2()
yield
end
def test3(&block)
instance_eval(&block)
end
end
f = Foo.new
f.test { bar }
f.test2 { bar }
f.test3 { bar }
คำถามก็คือ
f.test { bar }
f.test2 { bar }
f.test3 { bar }
ได้ผลลัพท์เป็นอะไร
เฉลย
f.test { bar } # => "outer bar"
f.test2 { bar } # => "outer bar"
f.test3 { bar } # => "my bar"
No comments:
Post a Comment