Ich würde gerne wissen, wie Sie Queue in der besten funktionalen Weise verwenden. Zum Beispiel möchte ich Elemente aus der Warteschlange entfernen und sie mit einer rekursiven Funktion drucken. Und ich möchte die schönste Funktion haben.Best Practice zu verwenden Scala unveränderlich Warteschlange
Zum Beispiel ist dies eine Funktion zu tun, was ich will. Aber ich mag das Wenn nicht.
Ist eine bessere Möglichkeit, Warteschlange zu verwenden?
import scala.collection.immutable.Queue
def printQ[A](p:Queue[A]) {
if(!p.isEmpty) {
p.dequeue match {
case (x,xs) =>
println(x.toString)
printQ(xs)
case _ =>
println("End")
}
}
}
printQ(Queue(1,2,4,5))
Vielen Dank für die Antworten.
Mit der Ausnahme, dass Warteschlangen nicht iterieren. Oder sie sind es nicht unbedingt. –
@ DanielC.Sobral - Zugegeben; Die Ordnungsgleichheit ist ein undokumentiertes Merkmal von 'unveränderlich.Queue'. –
'! P.isEmpty' kann durch' p.nonEmpty' ersetzt werden. Es ist eleganter;) – metch