fizzbuzz問題をjavascript(WSH)で、Y-Combinator風に
fizzbuzz.jsとして保存。
CScript fizzbuzz.js として実行。
function puts(val){WScript.Echo(val);} function fizzbuzz(i){ if(i == 100){ return; } var val; if(i%15 == 0){ val = "fizzbuzz"; }else if(i%3 == 0){ val = "fizz"; }else if(i%5 == 0){ val = "buzz"; }else{ val = i; } puts(val); fizzbuzz(i + 1); } // y-combinator var y = function(proc){ return function(i){ if(i == 100) return; var val; if(i%15 == 0){ val = "fizzbuzz"; }else if(i%3 == 0){ val = "fizz"; }else if(i%5 == 0){ val = "buzz"; }else{ val = i; } puts(val); proc(i + 1); } } // 実行 (y(fizzbuzz))(1);
あまり、実用性は無いが。