Elixir管道运算符
示例
管道运算符|>采用左侧表达式的结果,并将其作为第一个参数输入右侧的函数。
expression |> function
使用管道运算符将表达式链接在一起,并直观地记录一系列功能的流程。
考虑以下:
Oven.bake(Ingredients.Mix([:flour, :cocoa, :sugar, :milk, :eggs, :butter]), :temperature)
在示例中,Oven.bake出现在之前Ingredients.mix,但是最后执行。此外,它可能不是很明显这:temperature是一个参数Oven.bake
使用管道运算符重写此示例:
[:flour, :cocoa, :sugar, :milk, :eggs, :butter] |> Ingredients.mix |> Oven.bake(:temperature)
给出相同的结果,但是执行顺序更清晰。此外,很明显,这:temperature是Oven.bake调用的参数。
请注意,使用管道运算符时,每个函数的第一个参数都将重定位到管道运算符之前,因此被调用的函数似乎少了一个参数。例如:
Enum.each([1, 2, 3], &(&1+1)) # produces [2, 3, 4]
是相同的:
[1, 2, 3] |> Enum.each(&(&1+1))
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短