Rubyで書式付き出力を行う
Rubyの書式付き出力に関するメモ。
Rubyの書式付き出力
C言語なんかでもみるsprintf
メソッドを使うやり方と、%
演算子を使うやり方があります。先ずは%
演算子を使う例を見てみます。
プログラム
(1..10).each do |n| puts "%03d" % n end
実行結果
001 002 003 004 005 006 007 008 009 010
このプログラムの"%03d" % n
は、sprintf("%03d", n)
と同じ意味になります。
個人的には、%
の演算というと、どうも剰余を求めている様な感じがするので違和感ありまくりでしたが、演算子が文字列にかかっているか、数値にかかっているかの違いと理解すれば良いのでしょうか。
因みに、複数の書式を一度に扱う例は以下の通り。
puts "100 to bin ->%b ,oct->%o ,hex->%X" % [100,100,100] #=>100 to bin ->1100100 ,oct->144 ,hex->64 puts sprintf("100 to bin ->%b ,oct->%o ,hex->%X", 100,100,100) #=>100 to bin ->1100100 ,oct->144 ,hex->64