最近ちょっとした作業にRubyを使っています。

仕事で英数字から成るランダムな文字列を生成する必要があって、とりあえず英数字一覧の文字列を用意しようと思ったところ、キーボードから正直に全部入力すればいいんですが、プログラムで書くほうが楽かなと思った(のが間違いですが)・・・・
そこで、興味から質問です。
最終的に
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
という文字列(英字大小と数字及びアンダースコア・・・正規表現 ¥w 相当、但し並び順はどうでもいいです)を生成するプログラムを教えてください。
◎この質問は、プログラムの書き方がわからないのではなく「こんな書き方もできる」の募集です。
◎面白いプログラム、とても短いプログラム、トリッキーなもや勉強になるものは喜ばしいです。
◎このプログラムが役立つ場面は想像できません :-P
◎Rubyがダメな人はRuby以外でも可

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:Kumappus No.1

回答回数3784ベストアンサー獲得回数185

ポイント20pt

http://www.ruby-lang.org/ja/man/?cmd=view;name=Ruby%A5%EA%A5%D5%...

Rubyリファレンスマニュアル - Rubyリファレンスマニュアル

しばらく触ってなかったので結構忘れてますね。

s=””

(0..127).each{|v| s=s+v.chr}

print s.scan(/¥w/)

とか。我ながらつまらない答えかも。

id:nisyu

ありがとうございます。私も同じように考えました。

http://d.hatena.ne.jp/nisyu/20051005

2005/10/05 05:13:36
id:babie No.2

回答回数4ベストアンサー獲得回数0

ポイント20pt

私が考えたものじゃないのでポイントは要りません。

id:nisyu

面白い情報ありがとうございます。

これはチャットか何かでやり取りされたのでしょうかね?

すごい方々に回答して頂いているようなので恐縮です。

とても面白いです。勉強になりました!

2005/10/05 05:25:57
id:sumim No.3

回答回数3ベストアンサー獲得回数0

ポイント20pt

http://d.hatena.ne.jp/sumim/20051005/p1

sumim’s smalltalking-tos - Ruby で /\w/ な文字からなる文字列を生成する

(?0..?z).map{|e|e.chr=~/¥w/&&$&}.to_s

id:nisyu

ありがとうございます

先のbabie様紹介の記事中の最短と2バイト差ですね

2005/10/05 21:24:32
  • id:nisyu
    終了

    だいたい出切ったようですので、終了しました。

    ポイント不要との方にも分配しました。
    (もともとはてなはURLの紹介でポイントをもらうものですし)

    とても楽しめました。
    ありがとうございました。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません