メモ
sprintfっぽい物を先頭に書いておくと、けっこう便利。
function sprintf() { // limited implementation of sprintf. var format = arguments[0], argv = arguments, i = 1; return format.replace(/%([s%])/g, function (all, type) { return type == "%" ? "%" : argv[i++]; }); }
こんな感じにテストを書いておいて、
function eq(a, b) { console.assert(a == b, "test failed: %s != %s", a, b); } eq(sprintf(""), ""); eq(sprintf("%%"), "%"); eq(sprintf("%s", "a"), "a"); eq(sprintf("%s%s", "a", "b"), "ab"); eq(sprintf("%%s"), "%s");
あとで、%d
とか、0パディングとかを使いたくなったら、コードとテストをちょっと追加したりする。