我想知道如何以最佳功能方式使用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))
Run Code Online (Sandbox Code Playgroud)
谢谢你的回复.
我尝试了以下单元测试.
第一次测试testUnpickleJsonPickleFormat效果很好.它腌制一个字符串并取出泡菜.
testUnpickleString{1,2}测试以反序列化String.但它们根本不起作用.我不知道哪里有什么想念我.
import org.junit.Test
import scala.pickling._
import scala.pickling.json._
class PicklerTest {
@Test
def testUnpickleJsonPickleFormat {
val src = "elem 1"
val pckl = src.pickle
val res = pckl.unpickle[String]
println(src)
println(pckl.toString +"\n")
println(res)
}
@Test
def testUnpickleString1 {
val json = """JSONPickle({
| "tpe": "java.lang.String",
| "value": "elem 1"
| })""".stripMargin.trim
val pckl = JSONPickle(json.toString)
val res = pckl.unpickle[String]
}
@Test
def testUnpickleString2 {
val src = "elem 1"
val pckl = src.pickle
val pckl2 = JSONPickle(pckl.toString) …Run Code Online (Sandbox Code Playgroud)