gpt4 book ai didi

haskell - Julia 是否有类似于 Haskell 的美元符号的运算符?

转载 作者:行者123 更新时间:2023-12-04 16:17:12 26 4
gpt4 key购买 nike

Haskell 的美元符号是一个很棒的函数,对于 f $ g ,例如 f使用 g 的结果进行评估作为它的论据。这可以像这样出色地工作

sin $ sqrt $ abs $ f 2

这相当于
sin(sqrt(abs(f(2))))

美元符号对我来说很好,因为它更具可读性。我注意到 Julia 有 |>哪些管道。这似乎是 f |> g意思是 gf 的评估结果作为论据。据我所知,我似乎可以这样写上述表达式
2 |> f |> abs |> sqrt |> sin

但我想知道是否有一些运算符(operator)可以让我做一些类似于我在 Haskell 中所做的事情。

最佳答案

可以定义$模块中本地的运算符(只要您不需要其已弃用的 xor 含义);

f $ y = f(y)

然而,这个运算符的结合性(它是左结合的)是不正确的,它的优先级太高而不能用于避免括号。幸运的是,有很多正确优先级的右结合运算符。可以定义
f ← x = f(x)

(单行定义,几乎是 Haskell 式的!)然后这样使用它:
julia> sin ← π
1.2246467991473532e-16

julia> exp ← sin ← π
1.0000000000000002

julia> exp ∘ sin ← π
1.0000000000000002

关于haskell - Julia 是否有类似于 Haskell 的美元符号的运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41733532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com