在下面的示例中,|>
运算符是什么意思?
open Framework
open Template
let () =
create_server ()
|> get "/" (fun req -> h1 ["This is the index page."] |> respond)
|> get "/:name" (fun req ->
Printf.sprintf "Hello, %s!" (param req "name") |> respond)
|> listen 1337
该示例取自该github存储库https://github.com/jdan/ocaml-web-framework
答案 0 :(得分:2)
运算符|>
是“反向功能应用程序”运算符。
换句话说,x |> f
与f x
的含义相同。
运算符形式对于编写不需要括号的函数应用程序的“管道”很有用。
let f_parenthesized x = int_of_float (abs_float (sin x))
let f_pipelined x = x |> sin |> abs_float |> int_of_float
(此功能不是很有用,只是一个示例。)