gpt4 book ai didi

haskell - .与haskell中的$相比

转载 作者:行者123 更新时间:2023-12-03 15:05:45 29 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




11年前关闭。




Possible Duplicate:
Haskell: difference between . (dot) and $ (dollar sign)



好的,我明白这一点:
f(g(x))

可以重写:
f $ g(x)

也可以重写:
f . g(x)

我没有完全掌握的是两者在功能上不重叠的地方。我从概念上理解它们并不完全重叠,但有人可以一劳永逸地为我澄清这一点吗?

最佳答案

Prelude> :t ($)
($) :: (a -> b) -> a -> b
Prelude> :t (.)
(.) :: (b -> c) -> (a -> b) -> a -> c
$将函数应用于值。 .组成两个函数。

所以我可以写 f $ g x即“将 f 应用于 (g of x)”或 f . g $ x即“将 f 和 g 的组合应用于 x”。一种常见的样式是在左侧堆积点,尾随美元。原因是 f $ g $ xf . g $ x 的意思相同但是表达式 f $ g其本身通常是没有意义的(事实上,可能是类型错误),而表达式 f . g意思是“f和g的组合”

关于haskell - .与haskell中的$相比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4876828/

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