Adr*_*ski 1 printing scala list
我正试图从列表中获取元素:
data =List(("2001",13.1),("2009",3.1),("2004",24.0),("2011",1.11))
Run Code Online (Sandbox Code Playgroud)
有帮助吗?任务是分别打印字符串和数字,如:
print(x._1+" "+x._2)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
函数式编程的一个好习惯是尽可能地使用不可变对象的无副作用转换.
这意味着(在这种情况下)你可以将元组列表转换为字符串列表,然后将副作用(the println)限制在最后的一个步骤.
val data = List(("2001",13.1),("2009",3.1),("2004",24.0),("2011",1.11))
val lines = data map { case(a,b) => a + " " + b.toString }
println(lines mkString "\n")
Run Code Online (Sandbox Code Playgroud)
scala> val data =List(("2001",13.1),("2009",3.1),("2004",24.0),("2011",1.11))
data: List[(java.lang.String, Double)] = List((2001,13.1), (2009,3.1), (2004,24.0), (2011,1.11))
scala> data.foreach(x => println(x._1+" "+x._2))
2001 13.1
2009 3.1
2004 24.0
2011 1.11
Run Code Online (Sandbox Code Playgroud)