探索Julia(part12)--函数组合及管道
程序员文章站
2024-03-03 16:32:22
...
学习笔记,仅供参考,有错必纠
参考自:Julia数据科学应用–Zacharias Voulgaris;官方文档
使用Julia-1.1.1
函数组合及管道
函数组合
Julia中的函数可以通过组合或连接(链接)来组合。
函数组合是将函数组合在一起,并将后一个函数的结果作为前一个函数的参数。我们可以使用函数合成算子(∘
)来合成函数,所以(f ∘ g)(args...)
和f(g(args...))
是一样的。
我们可以在REPL和适当配置的编辑器中使用\circ<tab>
输入组合操作符。
例如,sqrt
和+
函数可以这样组合:
julia> (sqrt ∘ +)(1, 3)
2.0
上面的代码先把数字加在一起,然后求相加结果的平方根。
下一个例子由三个函数组成,并将结果映射到字符串数组上:
map(first ∘ reverse ∘ uppercase, split("python matlab sas julia"))
#返回值
4-element Array{Char,1}:
'N'
'B'
'S'
'A'
管道
函数链接(有时称为“管道”或“使用管道”将前面函数的结果发送给后面的函数)是指将前一个函数的输出应用到后面的函数:
julia> 1:10 |> sum |> sqrt
7.416198487095663
其等效为:
julia> (sqrt ∘ sum)(1:10)
7.416198487095663
管道操作符还可以与广播一起使用,如用.|>
提供管道和点向量化语法的有用组合:
["a", "list", "of", "strings"] .|> [uppercase, reverse, titlecase, length]
#返回值
4-element Array{Any,1}:
"A"
"tsil"
"Of"
7