探索Julia(part12)--函数组合及管道
學(xué)習(xí)筆記,僅供參考,有錯(cuò)必糾
參考自:Julia數(shù)據(jù)科學(xué)應(yīng)用–Zacharias Voulgaris;官方文檔
使用Julia-1.1.1
函數(shù)組合及管道
函數(shù)組合
Julia中的函數(shù)可以通過(guò)組合或連接(鏈接)來(lái)組合。
函數(shù)組合是將函數(shù)組合在一起,并將后一個(gè)函數(shù)的結(jié)果作為前一個(gè)函數(shù)的參數(shù)。我們可以使用函數(shù)合成算子(°)來(lái)合成函數(shù),所以(f ° g)(args...)和f(g(args...))是一樣的。
我們可以在REPL和適當(dāng)配置的編輯器中使用\circ<tab>輸入組合操作符。
例如,sqrt和+函數(shù)可以這樣組合:
julia> (sqrt ° +)(1, 3) 2.0上面的代碼先把數(shù)字加在一起,然后求相加結(jié)果的平方根。
下一個(gè)例子由三個(gè)函數(shù)組成,并將結(jié)果映射到字符串?dāng)?shù)組上:
map(first ° reverse ° uppercase, split("python matlab sas julia")) #返回值 4-element Array{Char,1}:'N''B''S''A'管道
函數(shù)鏈接(有時(shí)稱為“管道”或“使用管道”將前面函數(shù)的結(jié)果發(fā)送給后面的函數(shù))是指將前一個(gè)函數(shù)的輸出應(yīng)用到后面的函數(shù):
julia> 1:10 |> sum |> sqrt 7.416198487095663其等效為:
julia> (sqrt ° sum)(1:10) 7.416198487095663管道操作符還可以與廣播一起使用,如用.|>提供管道和點(diǎn)向量化語(yǔ)法的有用組合:
["a", "list", "of", "strings"] .|> [uppercase, reverse, titlecase, length] #返回值 4-element Array{Any,1}:"A""tsil""Of"7總結(jié)
以上是生活随笔為你收集整理的探索Julia(part12)--函数组合及管道的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 千牛云盘是什么 千牛云盘怎么用
- 下一篇: 探索Julia(part13)--多分派