A Day in the Life

Ruby で 10進数 <=> 62進数 などのコンバータ生成クラス

Ruby で 10進数 <=> 62進数 などのコンバータ生成クラス

なんか無性に Ruby が書きたくなったので、良くある短縮 URL ぽい 62 進数 (0-9, a-z, A-Z) とかに変換できるコンバータ生成クラスを作ってみた。

# 0-9, a-z, A-Z な char を渡す
d62 = DigitConvertor.new [('0'..'9'), ('a'..'z'), ('A'..'Z')].map {|r| r.to_a }.flatten
p d62.to(98798798735665662) #=> "7iuYfThXxc"
p d62.from("7iuYfThXxc")    #=> 98798798735665662

もちろん 62 進数じゃなくても良いし、char は好きな記号とかを入れても良い。

$KCODE = 'u';
d8 = DigitConvertor.new %w{☆ ★ ♪ △ ▼ ○ ● ◎}
d8.to(987987987) #=> "◎♪◎☆◎☆☆☆♪△"
d8.from("◎♪◎☆◎☆☆☆♪△") #=> 987987987

以下コード

記事の一覧 >

関連するかもエントリー

Keras を使わずに TensorFlow 2 を使い素朴な全層結合ニューラルネットワークを作る
TensorFlow では、高レベルAPIであるKerasを使うことで、簡単にニューラルネットワークのモデル作成~訓練、その他NNで行いたい様々なことを実現できる。しかしながら、自分のようなNN初心者にとっては何をやってるか解らないで使ってしまっていたため、簡単な順伝播型のNNを...
TensorFlow では、高レベルAPIであるKerasを使うことで、簡単にニューラルネットワークのモデル作成~訓練、その他NNで行いたい...
String を継承したクラスでのブロック内部の正規表現後方参照の挙動
String を継承したクラスでのブロック内部の正規表現後方参照の挙動class MyString < String def gsub(*args, &block) super end end puts String.new('123').gsub(/(\d)/...
String を継承したクラスでのブロック内部の正規表現後方参照の挙動class MyString < String def gsub(...