我有一个函数可以将数字显示为格式正确的价格(以美元为单位)。
var showPrice = (function() {
var commaRe = /([^,$])(\d{3})\b/;
return function(price) {
var formatted = (price < 0 ? "-" : "") + "$" + Math.abs(Number(price)).toFixed(2);
while (commaRe.test(formatted)) {
formatted = formatted.replace(commaRe, "$1,$2");
}
return formatted;
}
})();
据我所知,重复使用的正则表达式应该存储在一个变量中,以便它们只编译一次。假设这仍然是正确的,那么这段代码应该如何在 Coffeescript 中重写?