Что такое оператор |> в этом примере? - PullRequest
0 голосов
/ 16 октября 2018

Что означает оператор |> в следующем примере?

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

1 Ответ

0 голосов
/ 16 октября 2018

Оператор |> является оператором "приложения обратной функции".

Другими словами, 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

(Эта функция не очень полезна, это всего лишь пример.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...