我定义了一个自定义相等运算符(定义并不重要,所以我将插入虚拟内容):如果我尝试使用它的中缀:我得到以下错误:This expression is not a function; it cannot be applied。我可以通过将运算符从~=~重命名为=~或将其作为函数if (~=~) a b then 1 else 2调用来修复此问题。
这似乎是以~开头的运算符<em
在F#中,有没有一种方法可以将操作符视为函数?在上下文中,我希望部分应用运算符(包括中缀和前缀),但编译器似乎只乐于部分应用函数。示例:不能编写List.map (2 **) [0..7];;,我必须定义自己的函数pow x y (然后定义另一个函数let swap f x y = f y x;;,因为编译器也不允许我部分地应用|最后,我的代码需要是List.map (swap pow 2) [0..7];;才能工作。