如何在 Scala 中连接 Char 类型元素
How to concatenate Char type elements in Scala
我想从字母表中的字母中计算大小为 3 的所有组合(在 vocabulary
中存储为 Seq[Char]
)并将每个组合输出为 Seq[Char]
,同时存储它按顺序排列。
这里是字母表的定义:
val alphabet:Seq[Char] = Seq('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z')
这段代码是我写的
def enumProduct3(vocabulary: Seq[Char]): Seq[Seq[Char]] = {
// vocabulary = alphabet
val keys:Seq[Seq[Char]] = (for {x<-vocabulary;y<-vocabulary;z<-vocabulary} yield(x + y + z).toSeq).toSeq
}
我收到 type mismatch
错误:
[error] found : Unit
[error] required: Seq[Seq[Char]]
我搜索了 Scala API 以连接 Char 类型元素,但没有找到任何东西。
如果你想要像 Luis Miguel 在你的问题中评论的那样的 Seq[Char],你应该 yield Seq(x, y, z)
如果您想将字符连接成一个字符串,您可以使用插值器:
s"$x$y$z"
你的 enumProduct3
中有两个问题 - yield 应该是 Seq(x, y, z)
并且 method 应该是 return value:
def enumProduct3(vocabulary: Seq[Char]): Seq[Seq[Char]] = {
// vocabulary = alphabet
val keys: Seq[Seq[Char]] = for {x <- vocabulary; y <- vocabulary; z <- vocabulary}
yield Seq(x, y, z)
keys
}
或者只是:
def enumProduct3(vocabulary: Seq[Char]): Seq[Seq[Char]] = for {
x <- vocabulary; y <- vocabulary; z <- vocabulary
} yield Seq(x, y, z)
我想从字母表中的字母中计算大小为 3 的所有组合(在 vocabulary
中存储为 Seq[Char]
)并将每个组合输出为 Seq[Char]
,同时存储它按顺序排列。
这里是字母表的定义:
val alphabet:Seq[Char] = Seq('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z')
这段代码是我写的
def enumProduct3(vocabulary: Seq[Char]): Seq[Seq[Char]] = {
// vocabulary = alphabet
val keys:Seq[Seq[Char]] = (for {x<-vocabulary;y<-vocabulary;z<-vocabulary} yield(x + y + z).toSeq).toSeq
}
我收到 type mismatch
错误:
[error] found : Unit
[error] required: Seq[Seq[Char]]
我搜索了 Scala API 以连接 Char 类型元素,但没有找到任何东西。
如果你想要像 Luis Miguel 在你的问题中评论的那样的 Seq[Char],你应该 yield Seq(x, y, z)
如果您想将字符连接成一个字符串,您可以使用插值器:
s"$x$y$z"
你的 enumProduct3
中有两个问题 - yield 应该是 Seq(x, y, z)
并且 method 应该是 return value:
def enumProduct3(vocabulary: Seq[Char]): Seq[Seq[Char]] = {
// vocabulary = alphabet
val keys: Seq[Seq[Char]] = for {x <- vocabulary; y <- vocabulary; z <- vocabulary}
yield Seq(x, y, z)
keys
}
或者只是:
def enumProduct3(vocabulary: Seq[Char]): Seq[Seq[Char]] = for {
x <- vocabulary; y <- vocabulary; z <- vocabulary
} yield Seq(x, y, z)