Come si dichiara un parametro generico in F#?
-
29-10-2019 - |
Domanda
Dato il seguente codice:
let DisplayImpl logger data =
data |> Seq.iter logger
printfn ""
let Working =
DisplayImpl (printfn "%O") [1;2;3]
DisplayImpl (printfn "%O") ["a";"b";"c"]
let NotWorking display =
display (printfn "%O") [1;2;3]
display (printfn "%O") ["a";"b";"c"]
~~~ ~~~ ~~~
L'ultima riga fornisce l'errore: This expression was expected to have type int but here has type string
Pensavo che potesse funzionare, ma non lo fa:
let StillNotWorking (display: ('a -> unit) -> seq<'a> -> unit) =
La mia domanda è: come si definisce la funzione di notworking in modo che il parametro di visualizzazione rimanga generico all'interno della funzione?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow