Несоответствие Scala при отображении карты

Я делаю свои первые интересные шаги (уровень не-hello-world) с помощью Scala (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 - это класс, который я определил, но для этого примера мне кажется, что это вряд ли актуально.

5
задан em70 11 January 2012 в 00:15
поделиться