【问题标题】:How can I call passed in args function with passed in args arguments in Ramda?如何在 Ramda 中使用传入的 args 参数调用传入的 args 函数?
【发布时间】:2020-11-11 07:54:29
【问题描述】:

我的函数中有三个参数。第三个参数是我想用第二个参数的参数调用的函数。我有什么办法吗?

callFuncWithArgs(
  nthArg(1),
  nthArg(2),
)(null, 3, a => a * a) // 9

【问题讨论】:

  • 是的,有一种方法可以做到。
  • @evolutionxbox 怎么样?
  • 取决于你目前为止的尝试
  • 我并没有真正遵循您的示例,它似乎包含一些无关紧要的复杂情况 - 但您可以轻松定义一个函数,其中一个参数被调用,另一个参数作为其参数,只需 const f = (func, val) => func(val) 就可以了那个。
  • 您是否正在寻找像const foo = (_, x, f) => f(x) 这样简单的东西?或者您真的需要上面的 API,其中 callFuncWithArgs 的初始参数采用说明如何从完整参数列表中提取两个相关参数然后将实际参数传递给结果函数的函数?这稍微复杂一些,但肯定不会太难:const callFuncWithArgs = (getX, getFn) => (...args) => getFn (...args) (getX (...args))

标签: javascript functional-programming ramda.js


【解决方案1】:
converge(applyTo, [nthArg(1), nthArg(2)])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 2014-07-13
    • 2022-11-02
    • 2021-10-10
    • 2020-10-18
    相关资源
    最近更新 更多