Ramda 函数,在应用于参数时评估函数的相等性
Ramda function that evaluates equality of functions when applied to an argument
我正在寻找一个函数,它有两个函数和 return 一个函数,当应用于一个参数时,如果这些函数 return 相同,return 为 true 或 false应用于给定参数时的值。
您可以这样完成:
R.converge(R.equals, [func1, func2])
一个愚蠢的例子:
const eq = R.converge(R.equals, [R.T, R.identity]);
eq('foo') // false
eq(true) // true
我正在寻找一种更优雅的方法来完成此任务。
这是一种可能性:
const eq = lift(R.equals);
eq(R.T, R.identity)('foo'); //=> false
eq(R.T, R.identity)(true); //=> true
您可能会或可能不会觉得这更优雅。显然,您可以命名 eq(T, identity)
以获得可重用的函数。
I'm a bit surprised Ramda doesn't offer this out of the box though
我不知道为什么。我从来没有这样的要求。它从未在 Ramda 存储库中作为 issue 提出。你的用例是什么?
Whosebug really sucks. Just trying to get a little help from people and I get downvoted. Thats why I almost never come back here anymore.
目前,有一张赞成票和一张反对票。当前的两个 "close" 原因与它过于基于意见有关。对于要求 "more elegant" 解决方案的问题来说,这当然是合理的。我建议您不要将赞成票视为对您的反映,而只是对您的 questions/answers 的反映。虽然我确信偶尔会有问题,但大多数人都投了反对票以帮助改进网站。他们认为您的问题需要解决。边听边学。你不必同意;你不必改变你的问题,但你至少应该考虑一下他们是否正确。
我正在寻找一个函数,它有两个函数和 return 一个函数,当应用于一个参数时,如果这些函数 return 相同,return 为 true 或 false应用于给定参数时的值。
您可以这样完成:
R.converge(R.equals, [func1, func2])
一个愚蠢的例子:
const eq = R.converge(R.equals, [R.T, R.identity]);
eq('foo') // false
eq(true) // true
我正在寻找一种更优雅的方法来完成此任务。
这是一种可能性:
const eq = lift(R.equals);
eq(R.T, R.identity)('foo'); //=> false
eq(R.T, R.identity)(true); //=> true
您可能会或可能不会觉得这更优雅。显然,您可以命名 eq(T, identity)
以获得可重用的函数。
I'm a bit surprised Ramda doesn't offer this out of the box though
我不知道为什么。我从来没有这样的要求。它从未在 Ramda 存储库中作为 issue 提出。你的用例是什么?
Whosebug really sucks. Just trying to get a little help from people and I get downvoted. Thats why I almost never come back here anymore.
目前,有一张赞成票和一张反对票。当前的两个 "close" 原因与它过于基于意见有关。对于要求 "more elegant" 解决方案的问题来说,这当然是合理的。我建议您不要将赞成票视为对您的反映,而只是对您的 questions/answers 的反映。虽然我确信偶尔会有问题,但大多数人都投了反对票以帮助改进网站。他们认为您的问题需要解决。边听边学。你不必同意;你不必改变你的问题,但你至少应该考虑一下他们是否正确。