[英]How do I print a List of anything in Scala?
目前我有一个打印 Ints 的方法
def printList(args: List[Int]): Unit = {
args.foreach(println)
}
如何修改它以使其足够灵活以打印任何内容的列表?
您不需要专用方法,所需的功能已经在集合类中:
println(myList mkString "\n")
mkString
有两个 forms,所以对于List("a", "b", "c")
:
myList.mkString("[",",","]") //returns "[a,b,c]"
myList.mkString(" - ") // returns "a - b - c"
//or the same, using infix notation
myList mkString ","
我的示例只是使用\n
作为分隔符并将结果字符串传递给println
由于println
适用于任何事情:
def printList(args: List[_]): Unit = {
args.foreach(println)
}
甚至更好,因此您不仅限于List
s:
def printList(args: TraversableOnce[_]): Unit = {
args.foreach(println)
}
你只需要使方法通用
def printList[A](args: List[A]): Unit = {
args.foreach(println)
}
def printList[T](args: List[T]) = args.foreach(println)
或者一个递归版本来练习:)
1 - 声明你的清单
val myCharList: List[Char] = List('(',')','(',')')
2 - 定义你的方法
def printList( chars: List[Char] ): Boolean = {
if ( chars.isEmpty ) true //every item of the list has been printed
else {
println( chars.head )
printList( chars.tail )
}
}
3 - 调用方法
printList( myCharList )
Output:
(
)
(
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.