<script>
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script>
var pageTracker = _gat._getTracker("UA-×××××××-×");
pageTracker._initData();
pageTracker._trackPageview();
</script>
<< てなコードを張らせますが、2 行目 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); をみて、なんか次のコードを書いてまいました。
var e=Math.floor(Math.random()*2);
var c = (e==0 ? (function(){return 5})() : (function(){return 6})());
c;
<< クロージャって楽しいよね。 26 回やった結果、
6 5 6 6 6 5 5 5 6 6 6 5 5 5 6 5 5 5 5 5 6 6 5 5 6 6 << でした。 もっと遊びたくなったので、
var r = function(n){
var e=0, c=0;
for(var i=0; i<n; i++){
e=Math.floor(Math.random()*2);
c += (e==0 ? (function(){return 5})() : (function(){return 6})())-5;
}
return c/n;
};
r(1000);
<< としてみると、
0.482 0.488 0.478 0.488 0.479 0.503 0.501 0.489 0.503 0.49 0.506 0.475 0.495 0.46 0.506 0.514 0.467 0.491 0.491 0.503 0.497 0.514 0.512 0.518 0.479 0.493 << でしたね。0.5 よりは小さめに出る傾向があります(?)。 ま、無駄の多いコードですが、クロージャで遊びたかっただけなので。 普段なら、
var c=0; for(var i=0; i<1000; i++){c+=Math.floor(Math.random()*2)}; c/1000;
<< とすればいいだけですからね。素人見に解りやすいし。 いや。
(function(){
if(arguments[1] < arguments[2])
return arguments.callee(arguments[0]+Math.floor(Math.random()*2), arguments[1]+1, arguments[2]);
else
return arguments[0]/arguments[2];
})(0, 0, 1000);
<< とすると変数を使わなくていいかも。 アホだね。 あと callee って「カリー」って読むんだねぇ。
あ、動作は Firefox 3 Beta 4 で確認しました。 http://c4se.sakura.ne.jp/bi_laboratory/c4seJS/test_c4sejs.html
そのうち c4seStatistics.js を充実させて、分散分析ANOVA ぐらいはできるようにしますよ……。 c4se http://c4se.sakura.ne.jp/