在Ramda中等效Haskell的const函数

时间:2017-01-29 19:25:30

标签: javascript ramda.js

Ramda的函数是否与Haskell's const function相同,即取两个参数并返回第一个参数?

我知道它可以很容易地实现为R.curry((a, b) => a),但如果Ramda已经有这样的功能,我想我应该使用它而不是我自己的实现。

2 个答案:

答案 0 :(得分:1)

此功能在Ramda中命名为always

  

返回始终返回给定值的函数。请注意,对于非基元,返回的值是对原始值的引用。

     

此功能在其他语言和库中称为constconstantK(对于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