location = "http://d.hatena.ne.jp/m-hiyama/20070125/1169702291" location = "http://d.hatena.ne.jp/m-hiyama/20070130/1170120740" [雑記/備忘]JavaScriptによるテンプレート・モナド、すっげー簡単! を試してみます。 まず答えをそのままコピペですが、function 文が動かないので変数に代入します(do it) /* templ-process.js */ processTemplate = function (templ, con) { var a = (templ.replace(/\}/g, '{')).split('{'); for (var i = 0; i < a.length; i++) if (i%2 == 1) a[i] = con(a[i]); // コンテキストconは関数 return a.join(''); } processContext = function (con1, con2) { return function (k) {return processTemplate(con1(k), con2);} } contextFun = function (map) { return function (k) {return map[k];} } 課題3の例で試してみます(do it) template = "こんにちは、{お客様名}様。{来店日}にはご来店いただき、まことにありがとうございます。"; context = { "お客様名" : "板東トン吉", "来店日" : "1月21日" }; では早速実験 (print it) processTemplate(template, contextFun(context)); どうやらうまく動くようです。