目前我有一个打印Ints的方法
def printList(args: List[Int]): Unit = {
args.foreach(println)
}
Run Code Online (Sandbox Code Playgroud)
如何修改它以便它足够灵活地打印任何列表?
Kev*_*ght 48
您不需要专用方法,所需的功能已经在集合类中:
println(myList mkString "\n")
Run Code Online (Sandbox Code Playgroud)
mkString有两种形式,所以对于List("a", "b", "c"):
myList.mkString("[",",","]") //returns "[a,b,c]"
myList.mkString(" - ") // returns "a - b - c"
//or the same, using infix notation
myList mkString ","
Run Code Online (Sandbox Code Playgroud)
我的例子只是用作\n分隔符并将结果字符串传递给println
Ale*_*nov 23
由于println对什么作品:
def printList(args: List[_]): Unit = {
args.foreach(println)
}
Run Code Online (Sandbox Code Playgroud)
或者更好,所以你不仅限于List:
def printList(args: TraversableOnce[_]): Unit = {
args.foreach(println)
}
Run Code Online (Sandbox Code Playgroud)
您只需要使方法通用
def printList[A](args: List[A]): Unit = {
args.foreach(println)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45424 次 |
| 最近记录: |