2017-05-03 64 views
-2

我接收在該方法中printfields矢量[字符串]其中我印刷如下:printf中應用一個函數上階

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 

最後一個字符串不能轉換toInt,那麼這是不是一種選擇, 有人能幫助我嗎? 非常感謝你

回答

1

作爲初步操作將Vector[String]轉換爲Vector[Int]怎麼樣?

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

這僅僅是一個暗示,它是不是安全的方式,你應該檢查你的VectorString實際上是用逗號分隔的Int秒的Int或序列。

+0

這是我的問題之一,我有一些像35,30這樣的值不是int,你有另一個線索嗎? –