-- Lotto-Tipps mit Sortierung, dieses Mal numerisch -- Hinweis: wie sortiert wird, kann man selbst bestimmen, wenn man die compare-Methode -- der Comparator-Klasse implementiert (vgl. rexxref.pdf "5.4.5.1.1. compare"); -- bei numerischen Werten kann mein einen vom anderen abziehen und mit der -- eingebauten Funktion sign() (vgl. rexxref.pdf "7.4.57. SIGN") -1, 0 oder 1 -- erhalten, genau die Werte, die man bei der compare-Methode zurückliefern muss tipps=.set~new do until tipps~items=6 tipps~put(random(1,43)) end say "Lotto-Tipps (unsortiert):" say tipps~allitems say "---" say "die Sortierung erfolgt nach dem Platz in der Codetabelle:" say "Lotto-Tipps:" say tipps~allitems~sort say "---" say "die Sortierung erfolgt nach numerischen Werten aufsteigend:" say "Lotto-Tipps:" say tipps~allitems~sortWith(.vergleicheZahlen~new) ::class vergleicheZahlen subclass Comparator -- Zahlen fürs Sortieren vergleichen ::method compare -- Vergleichsmethode use arg left, right -- Vergleichswerte return sign(left-right) -- retourniert: -1, 0, 1