gpt4 book ai didi

scala - 使用 scala 不可变队列的最佳实践

转载 作者:行者123 更新时间:2023-12-04 15:14:23 26 4
gpt4 key购买 nike

我想知道如何以最佳功能方式使用 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))

感谢您的回复。

最佳答案

Queue没有 dequeueOption方法,这会使它更好一些。但是,请注意,您的比赛中的第一个条目是详尽无遗的;你永远无法到达 println("End")代码。所以你可以改进你的版本:

def printQ[A](p: Queue[A]) {
if (!p.isEmpty) p.dequeue match {
case (x,xs) =>
println(x.toString)
printQ(xs)
}
}

当然,因为这只是按顺序遍历队列,所以总是可以
p.foreach(println)

将所有内容打印出来。

关于scala - 使用 scala 不可变队列的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10027140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com