Inspiré de l'assortiment d'autres «Conseils pour jouer au golf dans la langue xyz». Comme d'habitude, veuillez suggérer uniquement des conseils spécifiques à OCaml et non à la programmation en général. Un conseil par réponse s'il vous plaît.
Inspiré de l'assortiment d'autres «Conseils pour jouer au golf dans la langue xyz». Comme d'habitude, veuillez suggérer uniquement des conseils spécifiques à OCaml et non à la programmation en général. Un conseil par réponse s'il vous plaît.
Réponses:
Grâce aux tuples, vous pouvez définir plusieurs variables à la fois. Et comme les fonctions sont des citoyens de première classe…:
let f,g=(fun x->x+1),fun x->2*x
Vous ne pouvez cependant pas écrire:
let f,g=(fun x->x+1),fun x->2*f x
Erreur: valeur non liée f
Malheureusement, vous ne pouvez pas éviter le problème en utilisant rec
:
let rec f,g=(fun x->x+1),fun x->2*f x
Erreur: seules les variables sont autorisées comme côté gauche de
let rec
Les fonctions dans OCaml sont curryied. Il pourrait être utile d'exploiter ce fait parfois.
let n y=f x y
peut être écrit
let n=f x
Si vous avez besoin d'opérations arithmétiques, vous pouvez les entourer de parenthèses afin qu'elles se comportent comme des fonctions de préfixe standard. (+)
,, (-)
…
let n=(+)1;;
n 3;;
- : int = 4