Вы можете создать вспомогательную функцию, если хотите использовать трубопровод.
def add_if(total, condition, value) do
if condition, do: total + value, else: total
end
value =
0
|> add_if(cond1, 3)
|> add_if(cond2, 2)
|> add_if(cond3, 8)
|> add_if(cond4, -3)
В зависимости от того, что вы делаете, также может иметь смысл иметь условия / логику в любой функции, которая изменяет вашуданные.Таким образом, ваш конвейер может выглядеть примерно так:
0
|> maybe_add_three("little pigs")
|> increment_by_two()
|> sum_with([4, 3, 1])
|> go_back_three_spaces(true)