【发布时间】:2016-01-15 00:44:28
【问题描述】:
有时我需要编写一个可能有效果也可能没有效果的函数。
是否有一个功能性(或其他)成语来描述这种事态?前缀maybe 描述了它,但是有什么惯用的吗?
例如:
function maybe(guardCb) {
return function(cb) {
return function() {
if(guardCb.apply(this, arguments)) {
return cb.apply(this, arguments);
}
}
};
}
function isFoo(args) {
return args.isFoo();
}
function doSomething(args) {
return foo.bar(args.bam);
}
maybe(isFoo)(doSomething)(args);
我知道可能单子,但它似乎与此不同。
【问题讨论】:
-
就我而言,我会把
doSomething()被调用的条件写到函数名中。 -
您在寻找命名约定还是编程技术?
-
我想的编程技术。我有兴趣以“功能”样式实现条件。
标签: javascript functional-programming idioms