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