我是新來的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