<=>
Operator definiert, der nicht in lexikalischer Reihenfolge ist.
Wenn Sie in Schritt 2 normal sortieren, erfolgt die Sortierung nicht in lexikalischer Reihenfolge. (Weil beurteilt wird, dass die Zeichenkette umso größer ist, je länger sie ist.)[Hinweis] Was ist Kinx? Erstes Motiv ⇒ Siehe hier Repository ⇒ Siehe hier
Versuchen wir "b" <=> "aa" "mit irb,
irb(main):001:0> "b" <=> "aa"
=> 1
irb(main):002:0>
** Was? !! ** ** **
Und was ist mit Range? Wenn ich versuche, "a" .. "c" "anzuzeigen.
irb(main):002:0> a = "a".."c"
=> "a".."c"
irb(main):003:0> a.each {|e| p e }
"a"
"b"
"c"
=> "a".."c"
Es wird ordnungsgemäß aufgelistet. Was ist also mit dem angeblichen "b" .. "aa"?
irb(main):004:0> a = "b".."aa"
=> "b".."aa"
irb(main):005:0> a.each {|e| p e }
=> "b".."aa"
Warum kann ich "b" nicht verwenden? "Aa" ...
Immerhin " b ".." aa "
will auch, dass du dich bewegst **, nicht wahr? Nach "b" ist "c" wollte ich, dass Sie mit "z" fortfahren und dann mit "aa" enden, aber was ist mit anderen Leuten?
Daher habe ich es in Latest Repository (nicht in 0.8.1 enthalten) wie folgt geändert.
<=>
der Zeichenfolge wird in lexikalischer Reihenfolge zurückgegeben.Hier unterscheidet sich (= Bereichsspezifikation für Zeichen) von Ruby. Bitte lassen Sie uns wissen, wenn Sie Probleme haben.
Nun, ich benutze es unter solchen besonderen Bedingungen nicht viel, also scheint niemand in Schwierigkeiten zu sein. Wenn Sie also sagen, welches in Ordnung ist, kann es eines sein. Es war eine detaillierte Geschichte.
Wie wäre es mit Ruby? Liegt es innerhalb der Erwartungen oder unerwartet? Ist es beabsichtigt oder nicht? Nun, die Definition ist klar und die Operation folgt der Definition, so dass es mit dieser Art von Dingen = Spezifikation ruhig erscheint.
Bis zum nächsten Mal.
Recommended Posts