我正在尝试在 Scala 中创建一个单词列表。我是语言的新手。我已经阅读了很多关于如何不能编辑不可变对象(immutable对象)的帖子,但没有一篇文章能够向我展示如何在 Scala 中创建我需要的列表。我正在使用 var 进行初始化,但这无济于事。
var wordList = Seq.empty[String]
for (x <- docSample.tokens) {
wordList.++(x.word)
}
println(wordList.isEmpty)
我将不胜感激。我知道对象在 Scala 中是不可变的(虽然 vars 不是),但我需要的是一些关于为什么上面总是打印“true”的简明信息,以及如何让列表添加包含在 docSample.tokens.word 中的单词.
最佳答案
您可以使用 val 并且仍然保持单词表不可变,如下所示:
val wordList: Seq[String] =
for {
x <- docSample.tokens
} yield x.word
println(wordList.isEmpty)
或者:
val wordList: Seq[String] = docSample.tokens.map(x => x.word)
println(wordList.isEmpty)
甚至:
val wordList: Seq[String] = docSample.tokens map (_.word)
println(wordList.isEmpty)
关于java - 在 Scala 中将元素添加到 Seq[String],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26579853/