Inspiriert von der Auswahl anderer 'Tipps zum Golfen in der Sprache xyz'. Bitte schlagen Sie wie gewohnt nur Tipps vor, die spezifisch für OCaml sind und nicht generell programmieren. Ein Tipp pro Antwort bitte.
Inspiriert von der Auswahl anderer 'Tipps zum Golfen in der Sprache xyz'. Bitte schlagen Sie wie gewohnt nur Tipps vor, die spezifisch für OCaml sind und nicht generell programmieren. Ein Tipp pro Antwort bitte.
Antworten:
Dank Tupeln können Sie mehrere Variablen gleichzeitig definieren. Und da Funktionen erstklassige Bürger sind…:
let f,g=(fun x->x+1),fun x->2*x
Sie können jedoch nicht schreiben:
let f,g=(fun x->x+1),fun x->2*f x
Fehler: Ungebundener Wert f
Leider können Sie das Problem nicht vermeiden, indem Sie Folgendes verwenden rec
:
let rec f,g=(fun x->x+1),fun x->2*f x
Fehler: Nur Variablen sind als linke Seite von zulässig
let rec
Funktionen in OCaml sind curryied. Es kann manchmal nützlich sein, diese Tatsache auszunutzen.
let n y=f x y
kann geschrieben werden
let n=f x
Wenn Sie arithmetische Operationen benötigen, können Sie diese mit Klammern umgeben, damit sie sich wie Standard-Präfixfunktionen verhalten. (+)
, (-)
, ...
let n=(+)1;;
n 3;;
- : int = 4