Ispirato all'assortimento di altri "Suggerimenti per giocare a golf in lingua xyz". Come al solito, suggerisci solo suggerimenti specifici per OCaml e non per la programmazione in generale. Un consiglio per risposta, per favore.
Ispirato all'assortimento di altri "Suggerimenti per giocare a golf in lingua xyz". Come al solito, suggerisci solo suggerimenti specifici per OCaml e non per la programmazione in generale. Un consiglio per risposta, per favore.
Risposte:
Grazie alle tuple, puoi definire più variabili contemporaneamente. E poiché le funzioni sono cittadini di prima classe ...:
let f,g=(fun x->x+1),fun x->2*x
Non puoi, tuttavia, scrivere:
let f,g=(fun x->x+1),fun x->2*f x
Errore: valore non associato f
Sfortunatamente, non puoi evitare il problema usando rec:
let rec f,g=(fun x->x+1),fun x->2*f x
Errore: sono consentite solo variabili come lato sinistro di
let rec
Le funzioni in OCaml sono curry. A volte potrebbe essere utile sfruttare questo fatto.
let n y=f x y
può essere scritto
let n=f x
Se hai bisogno di operazioni aritmetiche, puoi circondarle tra parentesi in modo che si comportino come funzioni prefisso standard. (+), (-)...
let n=(+)1;;
n 3;;
- : int = 4