3 ms·
Another way of getting poor man's macros is using lambdas: function evaluate(arg) { return (arg instanceof Function) ? arg() : arg; } function swe
by dmoney 18y ago
Another way of getting poor man's macros is using lambdas:
function evaluate(arg) {
return (arg instanceof Function) ? arg() : arg;
}
function sweach(tests, cases){
var ret = [];
for each (t in tests){
ret.push(evaluate(cases[t]));
}
return ret;
}
var twos = 0;
sweach([0, 1, 2, 1, 2, 1, 2], {2:function(){twos++;}});
// twos==3
It might get a bit messy though.