Scala-exercises: sameElements vergleicht die Elemente, nicht nur die Anzahl der Elemente

Erstellt am 6. März 2015  ·  3Kommentare  ·  Quelle: scala-exercises/scala-exercises

http://scala-exercises.47deg.com/koans#iterables sagt, dass "sameElements true zurückgibt, wenn die beiden Iterables die gleiche Anzahl von Elementen haben"

Das ist eine notwendige, aber keine hinreichende Bedingung. Auch die Elemente müssen gleich sein. Ob die Bestellung von Bedeutung ist, hängt von der Kollektion ab:

scala> Liste(1,2,3) gleicheElemente-Liste(1,2,3)
res13: Boolean = true

scala> Liste(1,2,3) gleicheElementliste(3,2,1)
res14: Boolean = false

scala> Set(1,2,3) gleicheElemente Set(3,2,1)
res15: Boolean = false // WAS?

scala> Set(1,2,3,4,5,6) gleicheElemente Set(6,5,4,3,2,1)
res16: Boolean = true

SameElements for Set führt auch zu unerwarteten Ergebnissen - das Verhalten ändert sich je nach Größe des Sets, wie Sie oben sehen können! Dies ist wohl ein Fehler in der Scala-Bibliothek: https://groups.google.com/forum/#!topic/scala -debate/je4vZbR3WbA

Hilfreichster Kommentar

Der _sameElements_-Teil von Iterables ist in seiner aktuellen Form verwirrend. Ich sehe, dass die Erklärung in dieser PR fehlt. Vielleicht versehentlich entfernt?

Alle 3 Kommentare

Danke @davidallsopp , ich kannte diesen Fehler nicht. Sie melden mehrere Probleme. Ich möchte, dass Ihre Beiträge Anerkennung finden. Warum senden Sie nicht eine neue "Pull-Anfrage" mit Ihrem Fix für dieses spezielle Problem?

Vielen Dank, Alter!

Fest!

Der _sameElements_-Teil von Iterables ist in seiner aktuellen Form verwirrend. Ich sehe, dass die Erklärung in dieser PR fehlt. Vielleicht versehentlich entfernt?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen