作者:济河南岸_797 | 来源:互联网 | 2023-07-22 19:13
f#有没有办法可以明确定义我定义的新运算符的元素?我检查了文档但找不到它:https://docs.microsoft.
f#
有没有办法可以明确定义我定义的新运算符的元素?
我检查了文档但找不到它:https :
//docs.microsoft.com/en-us/dotnet/fsharp/language-reference/operator-overloading#creating-new-operators
假设我定义了以下xor
运算符:
let (^@) a b =
a <> b
let result = true ^@ false
它工作正常,但以下定义不...
let (@^) (a: bool, b:bool) : bool =
a <> b
回答
在@^
参数是元组的。您的操作员需要两个参数。如果您指定
let (@^) (a: bool) (b: bool) : bool =
a <> b
然后
true @^ false // true