不明白你的意图如何
可以用google 试图search
多态, Polymorphism
根据对象的不同选择合适的操作。在Ruby中的实现方法是,根据被调的对象的不同来选择不同的方法。
例
obj = "abc"
print obj.length, "\n" # => 3
obj = [1,2,3,4]
print obj.length, "\n" # => 4
http://rubycn.ce-lab.net/man/appendix_dic.html
更深些
脱离 Rails 看 Ruby
http://www-128.ibm.com/developerworks/cn/java/j-ruby/
Ruby 多态性
在 Ruby 中没有接口!只要方法名匹配,就可以利用多态性。看看吧。
在清单 16 中,用 Ruby 重新创建了 Java Filter 类型。注意,每个类之间并没有关系(只不过它们都拥有同一个方法 apply_filter)。是的,这两个类应该被重构以扩展 Filter 基类;但是,在这里我只是想展示在 Ruby 中如何利用多态性,而类并不共享相同的类型。
duck typing 作关键词,可以找出更多English的解释和示例
有什么想法呢?