我是新来的Scala,我根本不知道到底什么是错我的代码:阶:缺少参数类型扩展功能:参数类型的匿名函数必须充分了解
我有一些Future
这可能会抛出异常:
var clean: Future[Boolean];
然而,当我尝试映射
clean.map(b => {
case true => Ok("success")
case false => Ok("failed")
}).recover {
case t => Ok("error: " + t)
}
我得到编译标题指定的错误。我完全不知道在哪里和/ PA哪些我的代码rt完全导致它..我GOOGLE了,但它很难找到任何线索,因为斯卡拉语法是如此灵活,因此在互联网上的这么多变化,但我得到的错误是相当误导...
任何帮助将非常感激......
非常感谢您对额外的意见!斯卡拉松散的语法和灵活性已经得到了我的一窍不通,我会听从这个建议..顺便说一下,有没有办法让scala明确地知道内部函数的类型?我试过'b:Boolean'或'(b:Boolean => Future [Response])'都无济于事。通过从中删除更多信息很难掌握“修复”缺少一些信息的“错误”...... – Zennichimaro
你不明白。你不是“通过删除信息来修复缺失”,你正在改变完全写作内容的含义。 'b'与内部函数无关(其类型实际上非常知名)。在你的代码中有两个函数:你传递给'map'的函数将'b'作为参数并返回ANOTHER函数,这是第二个类型未知的函数。像这样的'.map {b => {x:Boolean => ...})'会“修复”它,但正如我所说的,这完全不是你想要的 - 你最终会“功能”的“未来”。 – Dima