我瞭解到,功能接受任意類型可以創建,像這樣的:OCaml:如何確定函數參數的類型?
let f x = x;;
let f x =();;
let f (x : 'a) =();;
但我不能找到一種方法,利用內部功能類型的信息,就像這樣:
let print_is = function
| (x : int) -> print_int x
| (s : string) -> print_string s
| _ -> print_string "***";;
是不是真的根本不可能,如果是的話 - 這種限制的基本思想是什麼?或者我只是沒有正確的谷歌?
OCaml的最大優點之一是你不需要明確關心'type'。 –
啊......好吧,但現在我只需要發現如何使用它:D –
如果你想處理一種或另一種類型的值,OCaml可以很好地處理這些值。它被稱爲變體。所以你可以做一些事情,比如'type shoeswear = shoe_size |鞋子Sock'。 –