Actions
Feature #20580
openPipe Operator accepting lambda
Status:
Open
Assignee:
-
Target version:
-
Description
I think that the pipe operator was not reflecting the actual pipe operator in functional programming language.
In Elixir, Elm, F# etc. The pipe operator takes a value and applies it on the lambda at the right of the operator. Example
add_one = -> a { a + 1 }
add_two = -> a { a + 2 }
2 |> add_one |> add_two == 5
In combination with the >> operator, some interesting thing can be done.
2 |> add_one >> add_two
you can refactor to
add_tree = add_one >> add_two
2 |> add_tree
I currently use the then
method on Object to do the equivalent. However this takes more characters and you need to put the closing bracket at the end of the line.
2.then(&add_one >> add_tree)
Actions
Like0
Like1Like1Like0