functional-programming - 为什么在ramda.js中将“complement”用作函数的名称

标签 functional-programming ramda.js

我了解ramda的complement函数的使用,该函数会反转谓词的返回。我无法理解的是为什么使用“complement” 作为名称。

const invertPredicate = R.complement(R.identity)
invertPredicate(false) //true

有人可以对此提供一些见解吗?

最佳答案

“在集合论中,集合A的补码是指不在A中的元素”

https://en.m.wikipedia.org/wiki/Complement_(set_theory)

因此,R.complement将为所有不满足提供的谓词的值生成一个谓词。

关于functional-programming - 为什么在ramda.js中将“complement”用作函数的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51662504/

相关文章:

assembly - 函数式汇编语言

functional-programming - 建模/记录功能程序

javascript - 如何从动态镜头获得动态 View

ramda.js - 使用从 ramda 中的原始属性派生的新属性转换对象

java - 像切换条件一样对 Java Stream 进行排序

haskell - 为什么我不能在任何地方都使用 undefined ?

javascript - 为什么这个基本的 "R.useWith"不能正常工作?

typescript - 在 Ramda 的管道函数上传播数组会产生类型错误 "Expected 1-6 but got 0 or more"

javascript - Promise.all 位于带有 FP promise 的对象数组上

clojure - 当原始函数被绑定(bind)隐藏时如何调用它?