可以在 OCaml 中使用管道吗?

发布于 2024-12-28 18:41:38 字数 417 浏览 0 评论 0原文

在 F# 中,如果没有管道,我就无法生存(<||>

let console(dashboard : Dashboard ref) = 
    let rec eat (command : string) =
        command.Split(' ','(',')') 
        |> Seq.filter(fun s -> s.Length <> 0)
        |> fun C ->
            (Seq.head C).ToUpper() |> fun head ->

我可以使用 <|| 吗? OCaml 中的 >

In F# I can't live without pipes (<| and |>)

let console(dashboard : Dashboard ref) = 
    let rec eat (command : string) =
        command.Split(' ','(',')') 
        |> Seq.filter(fun s -> s.Length <> 0)
        |> fun C ->
            (Seq.head C).ToUpper() |> fun head ->

Can I use <| and |> in OCaml?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

早茶月光 2025-01-04 18:41:38

这些自 OCaml 4.01 起可用。但是,<| 在那里被命名为@@,因此它具有正确的运算符结合性。

或者,您可以自己定义它们:

let (|>) v f = f v
let (<|) f v = f v  (* or: *)
let (@@) f v = f v

或者使用 附带的 Ocaml 电池,其中包含 |><| 运算符在 BatStd 中定义。

These are available since OCaml 4.01. However, <| is named @@ there, so it has the correct operator associativity.

Alternatively, you can either define them yourself:

let (|>) v f = f v
let (<|) f v = f v  (* or: *)
let (@@) f v = f v

Or you use Ocaml batteries included, which has the |> and <| operators defined in BatStd.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文