javascript - currying 函数而不是 javascript 中的 if 条件
问题描述
尝试使用 curry 函数编写 if 条件(没有“if”“true”和“false”)。不知道怎么做才对!任何人都可以帮助并告诉我怎么做吗?
const True = () => {};
const False = () => {};
const If = True => False => ifFunction(True)(False);
const ifFunction = If(True);
ifFunction('1')('2'); // 1
console.log(If(True)('1')('2')); // 1
console.log(If(False)('1')('2')); // 2
它应该返回 1 还是 2 取决于哪个函数被传递给 if 条件。但是这段代码根本不起作用。
解决方案
通过使用Church_Booleans,您可以使用以下函数。
const
TRUE = a => b => a,
FALSE = a => b => b,
IF = p => a => b => p(a)(b);
console.log(IF(TRUE)('1')('2')); // 1
console.log(IF(FALSE)('1')('2')); // 2
推荐阅读
- google-bigquery - 为什么 BigQuery 无法识别文本格式持续时间的正确顺序
- reactjs - ReactJS:条件为真后如何进入下一页?
- c# - 在 Unity 游戏的 Android 版本中加载保存的布尔值问题
- multidimensional-array - TeeChart VCL 如何将多维数组与 X 和 Y 值列表关联?
- wpf - 创建一个带有边框的 HeaderedContentControl
- asp.net - 帖子上的 SelectList Null
- python - 如何将列表列表转换为 CSV 文件格式?
- r - 分类变量的统计摘要 - 学术论文
- drools - Drools drl 文件的包问题
- reactjs - 由于“复制失败:没有这样的文件或目录”错误,docker build 失败