Ramda的documentation for clamp州:
钳
Ord a => a→a→a→a
将数字限制在一个范围内。
也适用于其他有序类型,如字符串和日期。
R.clamp(1, 10, -1) // => 1 R.clamp(1, 10, 11) // => 10 R.clamp(1, 10, 4) // => 4
我理解“a→a→a→a”是什么意思(一个带有三个相同类型参数的curried函数,并返回与参数相同类型的结果)。
“Ord”和胖箭头(=>)是什么意思?
答案 0 :(得分:5)
Ramda在其类型注释上有一个long article(免责声明:我写了它。)type constraints部分描述了这些。
胖箭表示左侧的短语限制了右侧的描述。 Ord
表示该类型已被排序,即它与<
和>
一起正常运行。这包括内置类型(如字符串,数字和日期)以及具有valueOf
方法的用户类型,这些方法可以提供正确的排序。
答案 1 :(得分:1)
Ord
是一种有序的数据类型。胖箭头表示参数的前提条件。在这种情况下,我认为这意味着数据类型被约束为类似<
和>
之类的内容的类型(在强类型语言中,您会遇到编译时错误其他任何事情)。