使用scala immutable Queue的最佳实践
发布时间:2020-12-16 18:49:05 所属栏目:安全 来源:网络整理
导读:我想知道如何以最佳功能方式使用Queue. 例如,我想将元素出列并使用递归函数打印它们. 我想要最美丽的功能. 例如,这是一个按我想要的功能.但我不喜欢if. 他们是更好的使用队列的方法吗? import scala.collection.immutable.Queuedef printQ[A](p:Queue[A]) {
我想知道如何以最佳功能方式使用Queue.
例如,我想将元素出列并使用递归函数打印它们. 我想要最美丽的功能. 例如,这是一个按我想要的功能.但我不喜欢if. 他们是更好的使用队列的方法吗? 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)) 谢谢你的回复. 解决方法
队列没有dequeueOption方法,这会使它更好一些.但请注意,您的比赛中的第一个条目是详尽无遗的;你无法达到println(“结束”)代码.所以你可以改进你的版本:
def printQ[A](p: Queue[A]) { if (!p.isEmpty) p.dequeue match { case (x,xs) => println(x.toString) printQ(xs) } } 当然,因为这只是按顺序遍历队列,所以总是可以 p.foreach(println) 打印出来的一切. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |