2006-08-27
ひゃおくおくまんえんぐらいほしい
リビング20じょうぐらいあるところにすみたいなー若い技術者はお金に無頓着で云々とかそういえばかかれていたなぁむとんちゃくでもひゃくおくまんえんぐらいほしいそうすればしさんうんようしていかなくてもいきていけるお
Array.prototype.shuffle()
Array.prototype.shuffle = function(){
var o = Array.apply(null,this);
for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
};
http://www.bigbold.com/snippets/posts/show/849
ナガイ。そういや snippets に張った code snippets のライセンスってなんなんだろう明示的に書いてるのを見たことがないのでコピペって使うときに困る気がする。
Math.random()
追記 そもそも俺様の勘違いだったので↓のは間違った考察です。ウンコー
http://subtech.g.hatena.ne.jp/h2u/20060827/1156674757
Firefox の Math.random() の実装のせいなのかな?WinIE だと期待通りだ。期待通りじゃねーよ!ランダムじゃない><
仕様書には実装依存とあるな。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-8_The_Math_Object.html#section-15.8.2.14
15.8.2.14 random ( )
実装依存のアルゴリズムまたは手順で、ランダムに、または擬似的にランダムに、おおよそ一定の配分で選ばれる 0 以上 1 未満の正符号の数値を返す。この関数は引数をとらない。
Firefox + FireBug
>>> var a = new Array(0,1,2,3,4,5,6,7,8,9);
>>> for(var i = 0; i < 10; i++) console.log(a.sort(function(){ return Math.random() }))
[2,1,3,4,5,6,7,8,0,9]
[3,1,4,5,6,7,8,0,2,9]
[4,1,5,6,7,8,0,2,3,9]
[5,1,6,7,8,0,2,3,4,9]
[6,1,7,8,0,2,3,4,5,9]
[7,1,8,0,2,3,4,5,6,9]
[8,1,0,2,3,4,5,6,7,9]
[0,1,2,3,4,5,6,7,8,9]
[2,1,3,4,5,6,7,8,0,9]
[3,1,4,5,6,7,8,0,2,9]
WinIE
var a = new Array(0,1,2,3,4,5,6,7,8,9);
for(var i = 0; i < 10; i++) console.log(a.sort(function(){ return Math.random() }));
5,9,2,6,8,4,0,1,3,7
4,7,2,0,3,8,5,9,6,1
8,1,2,5,6,3,4,7,0,9
3,9,2,4,0,6,8,1,5,7
6,7,2,8,5,0,3,9,4,1
0,1,2,3,4,5,6,7,8,9
5,9,2,6,8,4,0,1,3,7
4,7,2,0,3,8,5,9,6,1
8,1,2,5,6,3,4,7,0,9
3,9,2,4,0,6,8,1,5,7
LL Ring
ぷろぐらみんだけもんもんとやらせていただきました。スタッフの方おつかれさまです。カンジマン超オツカレサマンサ!
Rails で XP 初だったけど、知らない方法がたくさんあったりわいわい進めていく感がおしろかった。
あと飲み会で久しぶりの人たちと久しぶりに話せて楽しかった death.