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(たぶん)