我试图覆盖
Ruby的< => (太空飞船)运算符对苹果和橙子进行分类,以便苹果首先按重量分类,然后是橙子,按甜度分类.像这样:
module Fruity attr_accessor :weight,:sweetness def <=>(other) # use Array#<=> to compare the attributes [self.weight,self.sweetness] <=> [other.weight,other.sweetness] end include Comparable end class Apple include Fruity def initialize(w) self.weight = w end end class Orange include Fruity def initialize(s) self.sweetness = s end end fruits = [Apple.new(2),Orange.new(4),Apple.new(6),Orange.new(9),Apple.new(1),Orange.new(22)] p fruits #should work? p fruits.sort
但这不起作用,有人可以告诉我这里做错了什么,或者更好的方法吗?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。