部分应用程序无法获得与infix运算符“(%% xy <> x%y-> wtf”)相同的结果

Cra*_*g.C 0 f# partial-application infix-operator

我刚刚对值进行了一些验证,以查看它是三的乘积。大量使用模函数。我想管它。很好地使用部分应用程序。但显然不是。

这是我的fsi在vs代码中的一个示例。

> 27 % 3
-
- ;;
val it : int = 0

> (%) 3 27
- ;;
val it : int = 3
Run Code Online (Sandbox Code Playgroud)

我真的没想到从中缀和部分中得到不同的结果。

这是上下文管道中的操作:

...
|> Seq.length // 27
|> (%) 3 // 3
Run Code Online (Sandbox Code Playgroud)

LSM*_*M07 6

因为操作数已翻转。(%) 3 27实际上意味着3 % 27,不是27 % 3,即你要(%) 27 3