Duck Typing
http://0xcc.net/blog/archives/000053.html
class Duck
def quack
puts "hogehoge"
end
end
class Foo
def quack
puts "foofoo"
end
end
def func(ducky)
ducky.quack
end
duck = Duck.new
foo = Foo.new
func(duck) #=> hogehoge
func(foo) #=> foofoo
「Foo もquack と鳴くのでDuck みたいなもんだろう」っていうのがDuck Typing(たぶん)