数値を適切にフォーマットされた価格 (米ドル) として表示する関数があります。
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 でどのように書き直すべきでしょうか?