仕事で英数字から成るランダムな文字列を生成する必要があって、とりあえず英数字一覧の文字列を用意しようと思ったところ、キーボードから正直に全部入力すればいいんですが、プログラムで書くほうが楽かなと思った(のが間違いですが)・・・・
そこで、興味から質問です。
最終的に
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
という文字列(英字大小と数字及びアンダースコア・・・正規表現 ¥w 相当、但し並び順はどうでもいいです)を生成するプログラムを教えてください。
◎この質問は、プログラムの書き方がわからないのではなく「こんな書き方もできる」の募集です。
◎面白いプログラム、とても短いプログラム、トリッキーなもや勉強になるものは喜ばしいです。
◎このプログラムが役立つ場面は想像できません :-P
◎Rubyがダメな人はRuby以外でも可
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/)
とか。我ながらつまらない答えかも。
面白い情報ありがとうございます。
これはチャットか何かでやり取りされたのでしょうかね?
すごい方々に回答して頂いているようなので恐縮です。
とても面白いです。勉強になりました!
http://d.hatena.ne.jp/sumim/20051005/p1
sumim’s smalltalking-tos - Ruby で /\w/ な文字からなる文字列を生成する
(?0..?z).map{|e|e.chr=~/¥w/&&$&}.to_s
ありがとうございます
先のbabie様紹介の記事中の最短と2バイト差ですね
ありがとうございます。私も同じように考えました。
http://d.hatena.ne.jp/nisyu/20051005