您可以在Ruby中定义<=>,然后自动定义==,>,<,> =和<=?

前端之家收集整理的这篇文章主要介绍了您可以在Ruby中定义<=>,然后自动定义==,>,<,> =和<=?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的Note类的一部分: @H_502_2@class Note attr_accessor :semitones,:letter,:accidental def initialize(semitones,letter,accidental = :n) @semitones,@letter,@accidental = semitones,accidental end def <=>(other) @semitones <=> other.semitones end def ==(other) @semitones == other.semitones end def >(other) @semitones > other.semitones end def <(other) @semitones < other.semitones end end

在我看来,像应该有一个模块,我可以包括,可以给我我的平等和比较运算符基于我的< =>方法.有没有?

我猜想很多人遇到这样的问题.你通常如何解决它? (你如何使它干燥?)

解决方法

只是包括Comparable – 唯一的要求是拥有宇宙飞船< =>方法定义.
原文链接:https://www.f2er.com/ruby/266201.html

猜你在找的Ruby相关文章