Ergebnisse scheinen(sic: „scheinen“) korrekt zu sein; Teil einer Sortierfunktion
bearbeitet von
Hallo Raketenwilli,
Dass 0 für gleich steht, < 0 für "Kleiner" und > 0 für "Größer", das ist dokumentiert und nicht mein Problem. Dass der konkrete positive oder negative Wert unspezifiziert ist, ist ebenfalls spezifiziert und ebenfalls nicht mein Problem. Das ist in anderen Sprachen auch so.
Es geht mir um folgendes: Wenn ich einen klassischen case-sensitive Vergleich mit dem < Operator mache, ergibt sich "roh" > "Rot", weil die Kleinbuchstaben hinter den Großbuchstaben folgen.
Aber der Collator macht das dem Anschein nach anders, er beim case-sensitive Vergleich "roh" < "Rot" zurück, OBWOHL "r" > "R" ist. Das ist schon merkwürdig, das vertraute Verhalten ist doch, dass für zwei Strings a, b mit a < b folgt, dass für zwei Präfixe dieser Strings mit Länge n die Relation left(a,n) <= left(b,n) gilt. Aber das ist beim Collator nicht der Fall.
Hier gilt nämlich (mit caseFirst:"upper") "roh" < "Rot", aber "ro" > "Ro".
Und ich wundere mich nun, ob ich eine Meise unter ~~dem Pony~~ der Platte habe, ob das eine Laune der Browser-Implementatoren ist oder ob sich das irgendwo in einer Spezifikation findet. ECMA-402 verweist da ständig auf Unicode, aber in dem Unicode Gestrüpp finde ich mich nicht zurecht.
Ich frage doch bloß für einen ~~Freund~~ Wiki-Artikel…
_Rolf_
--
sumpsi - posui - obstruxi
Ergebnisse scheinen(sic: „scheinen“) korrekt zu sein; Teil einer Sortierfunktion
bearbeitet von
Hallo Raketenwilli,
Dass 0 für gleich steht, < 0 für "Kleiner" und > 0 für "Größer", das ist dokumentiert und nicht mein Problem. Dass der konkrete positive oder negative Wert unspezifiziert ist, ist ebenfalls spezifiziert und ebenfalls nicht mein Problem. Das ist in anderen Sprachen auch so.
Es geht mir um folgendes: Wenn ich einen klassischen case-sensitive Vergleich mit dem < Operator mache, ergibt sich "roh" > "Rot", weil die Kleinbuchstaben hinter den Großbuchstaben folgen.
Aber der Collator macht das dem Anschein nach anders, er beim case-sensitive Vergleich "roh" < "Rot" zurück, OBWOHL "r" > "R" ist. Das ist schon merkwürdig, das vertraute Verhalten ist doch, dass für zwei Strings a, b mit a < b folgt, dass für zwei Präfixe dieser Strings mit Länge n die Relation left(a,n) <= left(b,n) gilt. Aber das ist beim Collator nicht der Fall.
Hier gilt nämlich (mit caseFirst:"upper") "roh" < "Rot", aber "ro" > "Ro".
Und ich frag ja nur, ob ich eine Meise unter ~~dem Pony~~ der Platte habe, ob das eine Laune der Browser-Implementatoren ist oder ob sich das irgendwo in einer Spezifikation findet. ECMA-402 verweist da ständig auf Unicode, aber in dem Unicode Gestrüpp finde ich mich nicht zurecht.
Ich frag ja nur für einen ~~Freund~~ Wiki-Artikel…
_Rolf_
--
sumpsi - posui - obstruxi