這裏的元組參數的功能是我寫的代碼片段:聲明它接受一個泛型類型
let Foo (a : (int * int) seq) = ();;
val Foo : seq<int * int> -> unit
let inline Bar (a : (a' * int) seq) =();;
let Bar (a : (a' * int) seq) =
--------------^^
stdin(8,15): error FS0039: The type 'a'' is not defined
>
我的意圖是Bar
應該是,我可以通過與不同類型的元組的功能如(string * int)
或(float * int)
。爲什麼我不能以這種方式定義我的功能?
由於類型''了'不使用其他任何地方的功能,你可以使用通配符'_',讓類型檢查推斷出泛型類型:'讓內聯條(a:(_ * int)seq)=()' – pad