rubyでn進数(16進数以上)の文字列を扱いたいです。

例えば、36進数で4桁を数値を、0~1679616(36^4)通り順に
表示したいです。

36進数を表す文字は、('a'..'z').to_a + ('0'..'9').to_aの様に定義したいと思います。
0~36^4へとインクリメントしつつ、その値を上記で定義した文字を使った
文字列へと変換していけば良いとは、思うのですが、うまいこと書けませんでした。

ご教授の程、よろしくお願いいたします。 

このQ&Aに関連する最新のQ&A

A 回答 (3件)

勉強目的で自分もチャレンジしてみました。

なんとなく動いているかな?
to_sはBignum等にも都度書いてやらないと使えません。
36までだったら標準のメソッドへ投げて、それ以上で一覧表にある限りはこの中で処理をします。

http://ideone.com/J6ZiY

ちゃんと検証とる程体力が残ってませんが・・・少なくとも実用に使えるしろものではありません。
    • good
    • 0
この回答へのお礼

ご回答ありがとう御座いました。大変参考になりました。

お礼日時:2011/04/26 11:56

> 大文字や記号なども入れて、72進数、さらには?や!なども入れてそれ以上ってののもこれで可能なのですか?



マニュアルを読む気がまったくないのですね。
でも貼っておきましょう。

http://doc.okkez.net/static/192/method/String/i/ …
    • good
    • 0

to_s(36)やらto_i(36)



ruby 1.7以降で利用可能。
詳しくはrubyのリファレンスをご覧ください。

参考URL:http://www.ideone.com/g91gG

この回答への補足

osamuyさん、ご回答有難うございます。

大文字や記号なども入れて、72進数、さらには?や!なども入れてそれ以上ってののもこれで可能なのですか?

補足日時:2011/04/25 22:10
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報