Rubyにはオプションを指定することによりターミナルでスクリプトを1行のコマ ンドで実行することが出来ます.その機能と数値表現で説明した0xや0bを数字の 前につける表現,そしてprintfを用いる際の引数表現である%xや%bな どを用いると,変換した結果を簡単に得ることが出来ます.
$ ruby -e "printf \"%b\n\", 100"
$ ruby -e "printf \"%o\n\", 100"
$ ruby -e "printf \"%x\n\", 100"
$ ruby -e "puts 0b10101010"
$ ruby -e "puts 01234567"
$ ruby -e "puts 0xabcdef"
$ ruby -e "printf \"%x\n\", 0b10101010"
エディタでスクリプトを編集して実行
エディタでスクリプトを書く場合も上記と同じ方法ですが,上の例は引用符をエス ケープするためにバックスラッシュが多用されています.スクリプトの中ではエ スケープが必要ないので,例えば次のように簡単になります.
printf "%b, %d, %o, %x\n", 100, 100, 100, 100 printf "%d, %d, %d\n", 0b10101010, 012345, 0xabcdef |
保存したスクリプトをターミナルからコマンドで実行するか, S@pphire のようなRuby実行環境を利用して作業して下さい.
その他の言語
printf という関数はRuby固有のものでなく,Cでも利用できるシステ ムの共有ライブラリ関数です.ですので,他にも多くの言語で利用できますので, 自分の得意なCでもperlでも好きな言語でほぼ同じ表現で実行可能です.また,C やperlでスクリプトを書いてS@pphireで実行することも可能です.
Back |