voglio un oggetto per attuare il tratto Iterable
e passare un parametro implicito aggiuntivo al metodo implementato applicazione:metodi di tratti con ulteriori parametri impliciti
object MyRepository extends Iterable[Something] {
def iterator(implict entityManager: EntityManager): Iterator[Something] = ...
}
Ovviamente questo non funziona perché il metodo non ha iterator
parametro implicito e quindi non è implementato con il metodo mostrato sopra.
Un caso ad esempio l'uso è il metodo map
che voglio applicare ai valori del repository:
def get = Action {
Transaction { implicit EntityManager =>
val result = MyRepository.map(s => s ...)
}
}
C'è qualche modo per attuare il Iterable
tratto e catturare il pramameter implicita?
Ho provato molto, ma non riuscivo a dare un senso a quello che stai dicendo. Cura di riformulare la tua domanda? –
@ RégisJean-Gilles: ho aggiunto un esempio e spero che mostri la mia intenzione. – deamon
Oh, certo, capisco. Si desidera implementare 'Iterable.iterator' ma è necessario un parametro implicito aggiuntivo (nell'implementazione) che non è ovviamente definito nella firma originale. –