Estoy dando mis primeros pasos interesantes (nivel no hola-mundo) con Scala (2.9.1) y estoy atascado tratando de entender un mensaje de error muy poco informativo. Va mucho como esto:Scala no coincide con el mapeo Mapa
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)))
Como se puede adivinar proceso en este fragmento se supone que es donde algunos procesado continúa, y es en realidad una función bien definida con la firma Array[InputEntry] => Double
.
La firma de Grouper, en cambio, es Array[InputEntry] => Int
.
He intentado extraer una función y reemplazar el lambda pero era inútil, y yo estoy atascado tratando de comprender el signo de interrogación en el error ...
¿Alguna idea?
Edit: Debo aclarar que InputEntry es una clase que he definido, pero por el bien de este ejemplo, me parece que es poco relevante.
Necesitamos ver algunos de los códigos. La parte del código que se imprimió con el mensaje de error no es suficiente. En particular, ¿cuál es la firma tipo de 'doMyStuff', y qué tipo de variable estás tratando de escribir el resultado? –
¿Está seguro de que el mensaje de error no dice 'requerido: ((Int, List [InputEntry])) =>?' –
Creo que debería haber hecho más específico que las entradas sean un Mapa. Gracias de todos modos – em70