我正在使用Unquote並沒有看到任何近似組合。 所以我決定寫一個。將多個類型的新運算符推廣
let inline (=~=) x y = abs x-y < 1.E-10
但是運營商沒有映射到,說列表
let test = [1;2] =~= [1;2] //---> error
是否有可能宣佈該運營商流向像(=)
?
或者它需要定義一個新的特點,如「StructuralEquality-ishness「?
是更好地定義與比如說一個新的運營商,http://code.google.com/p/fsharp-typeclasses/?
是的,但你不能編輯列表類型 - 它已被定義。如果類型是一個列表,你可以檢查(使用':?'),如果是的話,使用你自己的定義 - 但F#中沒有類型類。 –