【发布时间】:2019-12-09 21:43:23
【问题描述】:
我试图用理解来构造我的对象调用,这是我的简单实现:
object FuncA extends (String => Int => String) {
override def apply(str: String): Int => String = i => {
s"${(str.toInt + i).toString}"
}
}
object FuncB extends (String => Int) {
override def apply(str: String): Int = {
str.toInt
}
}
for {
funcAStr <- FuncA("1")(1)
funcBStr <- FuncB(funcAStr) // Fails here
} yield {
println(s"Final String incremented as int is $funcBStr")
}
但奇怪的是,我遇到了一个问题,即 funcAStr 被解释为 Char 而不是 String。任何理想为什么会这样?
【问题讨论】:
标签: string scala functional-programming function-composition for-comprehension