我是scala的新手,只是創建了一些示例來更好地理解它。我似乎無法弄清楚這個問題 - 我在我的java程序中創建一個字符串列表,並在我的scala程序中使用這個列表。從java類讀取列表的scala代碼看起來像這樣。如何在scala中使用flatMap來分組一組「vals」
private val stringList : Seq[List] = x.getStringName //gets the list from my java program.
的StringList的包含
["How", "Are", "You"].
我試圖找到一種方法將這些字符串添加到一個名爲A,B和C值,使他們能夠在一個論據以後傳遞給另一個函數。
val values = stringList.flatMap{
case x if (!stringList.isEmpty) =>
val a = /*should get the first string How*/
val b = /*should get the second string Are*/
val c = /*should get the third string You*/
case _ => None
}
getCompleteString(a,b,c);
但這不起作用。我給我一個錯誤說
"type mismatch; found : Unit required: scala.collection.GenTraversableOnce[?]"
我不使用爲什麼會發生這種情況。有人能告訴我我在這裏做錯了什麼嗎?
如果代碼看起來很髒,我很抱歉,但我是初學者,仍然試圖理解語言。任何幫助表示讚賞。先謝謝你。
你確定你的'stringList'的類型是'Seq [List]'?不應該是'List [String]'或'Seq [String]'或其他什麼?您可以刪除該類型並查看IDE告訴您的類型。 –