лучшая практика использования scala immutable Queue

Я хотел бы знать, как использовать Queue наилучшим функциональным образом. Например, я хотел бы удалить элементы из очереди и распечатать их с помощью рекурсивной функции. А хотелось бы самую красивую функцию.

Например, это функция, которая делает то, что я хочу. Но я не люблю если.

Есть ли лучший способ использовать Queue?

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))

Спасибо за ответы.

6
задан BradleyDotNET 16 September 2014 в 22:35
поделиться