Я новичок в scala и просто создал несколько примеров, чтобы понять их лучше. Я не могу понять эту проблему здесь: я создаю список строк в моей java-программе и использую этот список в своей программе scala. Мой scala-код для чтения списка из класса java выглядит примерно так.Как использовать flatMap в scala, чтобы сгруппировать набор «vals»
private val stringList : Seq[List] = x.getStringName //gets the list from my java program.
StringList содержит
["How", "Are", "You"].
Я пытаюсь найти способ, чтобы добавить эти строки до значений, называемых а, Ь и с тем, чтобы они могли быть впоследствии переданы через аргументы другой функции ,
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 сообщает вам о типе. –