我正在将一些 F# 代码转换为 OCaml,我看到有很多使用这个管道操作符<|
的情况,例如:
let printPeg expr =
printfn "%s" <| pegToString expr
< p > 这个 <|
运算符似乎仅仅定义为:
# let ( <| ) a b = a b ;;
val ( <| ) : ('a -> 'b) -> 'a -> 'b = <fun>
我在想为什么他们要在F#中定义并使用这个运算符,是为了避免像这样放括号吗?
我在想为什么在F#中定义和使用这个运算符,是为了避免像这样使用括号吗?
let printPeg expr =
Printf.printf "%s" ( pegToString expr )
就我所知,那将是将上面的F#代码转换为OCaml,对吗?
另外,我该如何在OCaml中实现F#的<<
和>>
运算符?
(看起来|>
运算符只需这样实现:let ( |> ) a b = b a ;;
)