Functional programming lodash/fp范围的不同行为
带有的方法Functional programming lodash/fp范围的不同行为,functional-programming,lodash,Functional Programming,Lodash,带有的方法\uu.range()具有固定的两个算术数 基本上,你不能做。.range(4),但你必须做。.range(0,4)。 我想这与函数方法有关 有人能给我解释一下或者给我指点一些有用的资源吗? 或者写一个例子来说明使用它的优点。谢谢。因为lodash/fp函数是,所以需要有一个固定的arity(函数可以接受的参数数量),这意味着函数不能有可选参数) 注意:lodash(和ramda)使用更轻松的咖喱。在经典的currying中,结果函数每次接收1个参数,直到达到原始的arity,并调用原
\uu.range()
具有固定的两个算术数
基本上,你不能做。.range(4)
,但你必须做。.range(0,4)
。
我想这与函数方法有关
有人能给我解释一下或者给我指点一些有用的资源吗?
或者写一个例子来说明使用它的优点。谢谢。因为lodash/fp函数是,所以需要有一个固定的arity(函数可以接受的参数数量),这意味着函数不能有可选参数) 注意:lodash(和ramda)使用更轻松的咖喱。在经典的currying中,结果函数每次接收1个参数,直到达到原始的arity,并调用原始函数。例如,对于3-
fn(arg)(arg)(arg)
的算术。而在lodash中,您可以提供多个参数(如范围(0,4)
)而不是1。因此,如果你有一个算术为3的函数,你可以使用fn(arg,arg,arg)
或fn(arg,arg)(arg)
或fn(arg)(arg)(arg)
,等等ie所有将导致3个参数的组合
如果您通常使用.range(n)
(1的固定算术数),则可以使用0
-.range(0)
调用函数。由于lodash/fp函数的curried性质,您将得到一个新函数,它只需要一个数字(上限)。该函数将生成从0
到该数字的范围(如标准lodash的范围)
const range 0=\范围(0)
控制台日志(范围0(3))
console.log(范围0(1))