タグ

2014年9月21日のブックマーク (1件)

  • Rubyでランダムな文字列を生成する方法 -- ぺけみさお

    Stack Overflowを眺めていたら目に止まったのでメモする。 ランダムな文字列を生成する例えば8文字のランダムな文字を得たいなら以下のように書ける。 範囲オブジェクトに対してmapメソッドを使うのがポイントだ。 処理を分解して見てみよう。 まず(0...8)で0から7の8要素の範囲オブジェクトを生成する。 範囲オブジェクトはEnumerableなのでmapが使える。 mapには要素とは無関係に1文字の大文字アルファベットを返すブロック{ (65 + rand(26)).chr }を渡す。 mapはリストを返すので、それをjoinで連結してランダムな文字列を得る。 ランダムな文字を得る方法を改善する上記の方法のうち、1文字の大文字アルファベットを返すブロック{ (65 + rand(26)).chr }は可読性が高いとは言えない。なにせ65.chrがAだとは一見してわからない。 そこ

    u1tnk
    u1tnk 2014/09/21
    おかげですっきりかけた。