sprintf
なんか気に食わない。Ruby っぽくないような気がする。
p sprintf("%05d", 123)C言語っぽいね。
p "%05d" % 123
これはまぁまぁ。けど、いちげんさんでは読めない。
String#sprintf とかあったら良いと思うのだがどうか?
class String
def sprintf(*args)
Kernel.sprintf(self, *args)
end
end
p "%05d".sprintf(123)
Integer#to_s(n) が n進数文字列を作ってくれるが、似たようなのがあると嬉しい。
class Integer
def format(str)
sprintf(str, self)
end
end
p 123.format("%05d")というか Integer#to_s(format) の方が良くね? いっそのこと Object#format だと問題ありすぎか?
Date#strftime も統一できたらなお良いが書式指定子の意味が違うからなー。