rubyではsprintfナシでフォーマットが出来る

rubyでは%演算子だけで、フォーマット済みのString型のインスタンスが作れる。
たとえば、


s = sprintf("%04d%-10s%20s", "2007", "this is a", "test")
puts s #=>"2007this is a test"
というsprintfをよくよく見ると
左にフォーマット記述子("%04d%-10s%20s")右側に、対応する数の要素がある。
この組み合わせをフォーマット記述子と配列とみなす、のがコツ。

# フォーマット記述子
fmt = "%04d%-10s%20s"
# 表示する内容(の配列)
ary = ["2007", "this is a", "test"]
str = fmt % ary
puts str #=>"2007this is a test"
というのを、今日初めて知った。