Trong PHP, giá trị mặc định cho các đối số có thể được thiết lập như sau:OCaml: Giá trị mặc định cho đối số hàm?
function odp(ftw = "OMG!!") {
//...
}
Có chức năng tương tự trong OCaml?
Trong PHP, giá trị mặc định cho các đối số có thể được thiết lập như sau:OCaml: Giá trị mặc định cho đối số hàm?
function odp(ftw = "OMG!!") {
//...
}
Có chức năng tương tự trong OCaml?
OCaml không có tham số vị trí tùy chọn, bởi vì, vì OCaml hỗ trợ currying, nếu bạn bỏ qua một số đối số, nó trông giống như một phần ứng dụng. Tuy nhiên, đối với các tham số được đặt tên, có các tham số có tên tùy chọn.
Bình thường đặt tên các tham số được khai báo như thế này:
let foo ~arg1 = arg1 + 5;;
Tùy chọn đặt tên các tham số được khai báo như thế này:
let odp ?(ftw = "OMG!!")() = print_endline ftw;;
(* and can be used like this *)
odp ~ftw:"hi mom"();;
odp();;
Lưu ý rằng bất kỳ tên thông số tùy chọn phải được theo sau bởi ít nhất một phi tùy chọn tham số, vì nếu không, ví dụ "odp" ở trên sẽ trông giống như một ứng dụng một phần.
thông thường, tôi chỉ sử dụng "let foo arg1 = arg1 + 5 ;;", không có dấu "~". quan điểm đó là gì? –
bạn có thể đọc về chúng tại đây: http://caml.inria.fr/pub/docs/manual-ocaml/manual006.html#htoc37 – newacct
Liên kết được cập nhật: http://caml.inria.fr/pub/docs/ manual-ocaml/lablexamples.html # sec43 – neo