当前位置:  开发笔记 > 编程语言 > 正文

如何使用灵丹妙药中的管道操作员工作?

如何解决《如何使用灵丹妙药中的管道操作员工作?》经验,为你挑选了1个好方法。

这一切都类似于|在unix 上使用运算符吗?根据文档,它是关于将第一个参数传递给函数,所以想知道这个运算符的重要性与传统方式在Pascal或C等任何函数语言中传递第一个参数相比.

另外,我们可以用这种方式传递变量参数吗?



1> Patrick Osci..:

管道运算符的主要好处是不是以嵌套方式调用多个函数

Enum.join(Enum.map(String.split("hello, world!", " "), &String.capitalize/1), " ")

或者有许多中间的"丢失变量"

string = "hello, world!"
words = String.split(string, " ")
capitalized_words = Enum.map(words, &String.capitalize/1)
Enum.join(capitalized_words, " ")

你可以使用管道操作符来编写

"hello, world!"
|> String.split(" ")
|> Enum.map(&String.capitalize/1)
|> Enum.join

最值得注意的是,参数现在非常接近接收它们的函数.此外,代码中函数调用的顺序类似于执行的顺序 - 从上到下而不是从内到外读取.最后,没有不必要的"丢失变量"可以降低噪音.

它不仅使您的代码更易于阅读,而且还会对您设计API的方式产生积极影响.它鼓励您将您的代码视为一系列数据转换,这在很多情况下会导致非常干净的解决方案.

另外,我们可以用这种方式传递变量参数吗?

不,您不能以这种方式传递多个参数 - 例如,您可以使用元组,通过单个参数传递多个值.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有