Me gustaría saber cómo usar Queue de la mejor manera funcional. Por ejemplo, me gustaría dequear elementos e imprimirlos con una función recursiva. Y me gustaría la función más hermosa.mejor práctica para usar scala inmutable Queue
Por ejemplo, esta es una función que hace lo que quiero. Pero no me gusta el si.
¿Es su una mejor manera de usar cola?
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))
Gracias por la respuesta.
Excepto que las colas no se repiten en orden. O no necesariamente, de todos modos. –
@ DanielC.Sobral - Concedido; el orden-sameness es una característica no documentada de 'inmutable.Queue'. –
'! P.isEmpty' se puede reemplazar por' p.nonEmpty'. Es más elegent;) – metch