Terinspirasi dari bermacam-macam 'Tips untuk bermain golf dalam bahasa xyz'. Seperti biasa, harap hanya menyarankan kiat yang khusus untuk OCaml dan bukan pemrograman secara umum. Tolong, satu tip per jawaban.
Terinspirasi dari bermacam-macam 'Tips untuk bermain golf dalam bahasa xyz'. Seperti biasa, harap hanya menyarankan kiat yang khusus untuk OCaml dan bukan pemrograman secara umum. Tolong, satu tip per jawaban.
Jawaban:
Berkat tuple, Anda dapat mendefinisikan beberapa variabel sekaligus. Dan karena fungsinya adalah warga negara kelas satu ...:
let f,g=(fun x->x+1),fun x->2*x
Namun, Anda tidak dapat menulis:
let f,g=(fun x->x+1),fun x->2*f x
Kesalahan: Nilai tidak terikat f
Sayangnya, Anda tidak dapat menghindari masalah dengan menggunakan rec:
let rec f,g=(fun x->x+1),fun x->2*f x
Kesalahan: Hanya variabel yang diizinkan sebagai sisi kiri
let rec
Fungsi di OCaml dikeringkan. Mungkin bermanfaat untuk mengeksploitasi fakta itu kadang-kadang.
let n y=f x y
dapat ditulis
let n=f x
Jika Anda memerlukan operasi aritmatika, Anda dapat mengelilinginya dengan tanda kurung sehingga berperilaku seperti fungsi awalan standar. (+),, (-)...
let n=(+)1;;
n 3;;
- : int = 4