Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://kovayashi.blog120.fc2.com/tb.php/94-8fee4219

-件のトラックバック

-件のコメント

[C23]

バグってた。
IEは[]ではダメでcharAtにしないとダメでした。
  • 2010-01-21
  • 本人
  • URL
  • 編集

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

prototype.jsを使ってruby風にリフォーム

ランダムな文字列を返す関数randomStr()をrubyで書くと、

def randomStr(size)
a=('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a
Array.new(size){
a[rand(a.size)]
}.join
end

こんな感じ。カッコいいね。

ではjavascriptで書いてみると、

function randomStr(size){
var a = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
var str = ''
for(;size>0;size--){
//str += a[Math.floor(Math.random() * a.length)]; BUG undefindになっちゃうので以下に修正
str += a.charAt(Math.floor(Math.random() * a.length));
}
return str;
}

なんだか、「あきあき」な感じだよね。
これを、prototype.jsを使ってruby風にリフォームしてみる。

function randomStr(size){
var a = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
return new Array(size).collect(function(){
//return a[Math.floor(Math.random() * a.length)] BUG undefindになっちゃうので以下に修正
return a.charAt(Math.floor(Math.random() * a.length));
}).join('');
}

※prototype.jsはversion 1.6.1 971行目を下記に修正の必要あり
/*if (!_each) */ _each = each;

でも、実際に使う気にはならないw
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://kovayashi.blog120.fc2.com/tb.php/94-8fee4219

0件のトラックバック

1件のコメント

[C23]

バグってた。
IEは[]ではダメでcharAtにしないとダメでした。
  • 2010-01-21
  • 本人
  • URL
  • 編集

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

Appendix

プロフィール

kovayashi

Author:kovayashi
・嫌いなもの
 →好きなもの

・インストール
 →バンドル
・バックアップ
 →アップロード
・努力
 →チート

最近のトラックバック

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。