在F#中使用显式数据类型创建新运算符

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


以上是在F#中使用显式数据类型创建新运算符的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>