我认为我想要做的很明显。对于 string1 中的每个字符,使用模式匹配打印一些内容。(我在那里有 string2,因为我将使用 string1 的模式匹配对字符串 2 做一些事情并返回字符串 2)
出于某种原因,我的代码只打印出“()”。
另外我如何确保我的代码返回一个字符串。当我将代码放入终端时,它说: (string1: String)String => Unit ,我该如何让它说 (string1: String)String => String
def stringPipeline(string1: String) = (string2: String) => {
for(c <- string1) {
c match {
case 'u' => "Upper Case"
case 'r' => "reverse"
case _ => "do something"
}
}
}
编辑:
我只想指出我想用 string2 做什么:
def stringPipeline(string1: String) = (string2: String) => {
for(c <- string1) yield {
c match {
case 'U' => string2.toUpperCase
case 'r' => string2.reverse } } }
但它返回一个向量/字符串列表。我希望所有这些情况都适用于同一个 string2 对象。因此,如果我在“hello”上测试该方法,它应该返回“OLLEH”。
谢谢