Quelle est la signification de '< ==>' dans Ruby?Quelle est la signification de '<==>' dans Ruby?
Exemple: Le code provient de la classe suivante qui compare les numéros au format x.x.x
,
def <==>(other)
# Some code here
end
Le code suivant provient de cette classe que le nombre de commandes comme x.x.x
,
class Version
attr_reader :fst, :snd, :trd
def initialize(version="")
v = version.split(".")
@fst = v[0].to_i
@snd = v[1].to_i
@trd = v[2].to_i
end
def <=>(other)
return @fst <=> other.fst if ((@fst <=> other.fst) != 0)
return @snd <=> other.snd if ((@snd <=> other.snd) != 0)
return @trd <=> other.trd if ((@trd <=> other.trd) != 0)
end
def self.sort
self.sort!{|a,b| a <=> b}
end
def to_s
@sorted = @fst.to_s + "." + @snd.to_s + "." + @trd.to_s
#Puts out "#{@sorted}".
end
end
Je ne pense pas que ce soit un code valide ... –
Maintenant, je me demande [pourquoi il n'y a qu'un seul signe égal] (http://stackoverflow.com/questions/5508338/why-does-the-spaceship- operator-have-only-one-equal-sign-in-it). –