我正在採取我的第一個有趣的步驟(非hello-世界水平)與斯卡拉(2.9.1),我卡住試圖瞭解一個非信息錯誤消息。 它去喜歡這個:斯卡拉不匹配地圖
error: type mismatch;
found : (Int, Array[InputEntry]) => (Int, Double)
required: (Int, Array[InputEntry]) => ?
entries.groupBy(grouper).map((k: Int, ies: Array[InputEntry]) => (k, doMyStuff(ies)))
如該片段被認爲是其中一些處理的推移,你可以猜測的過程,它實際上是用簽名Array[InputEntry] => Double
明確定義的功能。
石斑魚的簽名是Array[InputEntry] => Int
。
我試圖提取和替換功能的拉姆達,但它是無用的,和我被困試圖理解錯誤的問號......
任何想法?
編輯:我應該澄清一點,InputEntry是我定義的類,但爲了這個例子,在我看來,它幾乎沒有關係。
我們需要看一些代碼。用錯誤消息打印的代碼部分是不夠的。特別是,'doMyStuff'的類型簽名是什麼,你試圖將結果寫入什麼樣的變量? – 2012-01-11 00:10:23
你確定錯誤信息沒有說'required:((Int,List [InputEntry]))=>? – 2012-01-11 00:23:40
我想我應該使它更具體一點是條目是一個Map。無論如何感謝 – em70 2012-01-11 07:07:54