2011-09-22 16 views
5

Sto giocando con i tipi più alti e sto cercando di usare la composizione. Ho il seguente codice:Posso comporre una funzione che ha un argomento implicito?

def p2(a : Int) = a + 2 
def p3(a : Int) = a + 3 
val p5 = p2 _ compose p3 
def pn3[T](n : T)(implicit ev : Numeric[T]) = ev.plus(n, ev.fromInt(3)) 
val pn5 = p2 _ compose pn3 

E tutte le opere fino all'ultima riga: "Voglio Numeric[Int]"

error: could not find implicit value for parameter ev: Numeric[T] 

che ha un senso, ma come faccio a dire che,

+0

Scherzi a parte, @aioobe? Hai modificato il mio riferimento al famoso teorico del tipo di autore e software Alexandre Dumas? Sospiro. – Malvolio

+0

heh. Non ne avevo idea. L'ho fatto per * te * però. Ho visto domande con una formulazione migliore di quella che viene chiusa ... – aioobe

risposta

9

di prova ed errore;)

val pn5 = p2 _ compose pn3[Int] 
+0

D'oh. Faccia a faccia. – Malvolio

Problemi correlati