#f# #new-operator
#f# #new-operator
Вопрос:
Есть ли способ, которым я могу явно указать элементы нового оператора, который я определяю?
Я проверил документ, но не смог его найти: 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
Ответ №1:
В @^
параметрах задаются кортежи. Вашему оператору нужны два параметра. Если вы укажете
let (@^) (a: bool) (b: bool) : bool =
a <> b
затем
true @^ false // true
Комментарии:
1. Спасибо! все еще не привык к sintax.