Ramda的函数是否与Haskell's const
function相同,即取两个参数并返回第一个参数?
我知道它可以很容易地实现为R.curry((a, b) => a)
,但如果Ramda已经有这样的功能,我想我应该使用它而不是我自己的实现。
答案 0 :(得分:1)
此功能在Ramda中命名为always
。
返回始终返回给定值的函数。请注意,对于非基元,返回的值是对原始值的引用。
此功能在其他语言和库中称为
const
,constant
或K
(对于K组合子)。
答案 1 :(得分:1)
Ramda不提供a -> b -> a
类型的函数。正如哥特多的答案所述,拉姆达确实提供了类似的R.always :: a -> (() -> a)
。
在ramda/ramda#1680中提出了向Ramda添加a -> b -> a
函数,但该线程在一段时间内尚未激活。
Sanctuary确实提供了真正的const
函数,S.K :: a -> b -> a
。