【发布时间】:2011-03-03 02:54:10
【问题描述】:
我一直在阅读Real World Haskell,我已经接近尾声了,但是我一直在纠结(.) 和($) 运算符的风格问题。 p>
当你编写一个由其他函数组成的函数时,你可以这样写:
f = g . h
但是当你在这些函数的末尾应用一些东西时,我会这样写:
k = a $ b $ c $ value
但是这本书会这样写:
k = a . b . c $ value
现在,在我看来,它们在功能上是相同的,在我看来它们的作用完全相同。然而,我看的越多,我就越看到人们以书中的方式编写函数:首先使用(.) 撰写,然后仅在最后使用($) 附加一个值来评估批次(没有人这样做它有许多美元成分)。
是否有理由使用比使用所有($) 符号更好的书籍方式?还是这里有一些我没有得到的最佳实践?还是它是多余的,我根本不应该担心?
【问题讨论】:
-
注意第二个例子可以写成
k = a $ b $ c value -
是的,它可以,正如下面 Zifre 提到的,但我决定把它留在那里,因为它不会伤害任何东西,并使他的(现在是你的)cmets 有意义。不过谢谢你。 +1 :)
-
另一种常用的方法是
a . b $ c value,我不像第三个例子那么喜欢,但节省了一些字符。
标签: haskell coding-style function-composition