在scala上应用printf函数

时间:2017-05-03 15:02:36

标签: scala vector

我在方法printfields中收到一个vector [String],我打印如下:

def printFields(fields: Vector[String]): Unit =
{
  printf(fields.map(_ => "%s").mkString("",",","\n"),fields: _*)
  println(fields)

}

现在这给我输出如下:

39,39,35,30
Vector(39, 39, 35,30)
28,28,35,30
Vector(28, 28, 35,30)

现在,每个数字对应一个Id,我需要将一个函数应用于此处出现的每个数字,以便打印相应的元素,换句话说,就像:

printf(fields.map(_ => "%s").mkString("",",","\n"),con.convI2N((fields: _*).toInt))

我尝试将函数转换为Iterator,但是给我像

这样的字符串
39
39
35,30

最后一个String无法转换为Int,那么这不是一个选项, 有人可以帮帮我吗? 非常感谢你

1 个答案:

答案 0 :(得分:1)

如何将Vector[String]转换为Vector[Int]作为初步操作?

fields.map(_.split(',')).flatten.map(_.toInt)

这只是一个提示,它不是更安全的方式,您应该检查String中的每个Vector实际上是Int还是逗号分隔{{ 1}} S上。