c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud 等に公開中です。

考察は現在は主に Scrapbox で公表中です。

Programming は GitHub で開発中です。

<span style="color:#FF0000;">arguments.callee()</span> - JavaScript

Google Analytics って

<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/