LoginSignup
7
6

More than 5 years have passed since last update.

ruby の sprintf書式文字列の、あまり使われていないような気がする機能

Last updated at Posted at 2013-10-15

ruby の sprintf というか、書式文字列 % 値 の、書式文字列。

"%*d" % [7,123456] # => " 123456"
"%0*x" % [8,32767] # => "00007fff"
"%*.*f" % [10,3,1.0/3] # => "     0.333"

こういう機能がある。なんのことかというと、上記の3つの式は

"%7d" % 123456 # => " 123456"
"%08x" % 32767 # => "00007fff"
"%10.3f" % (1.0/3) # => "     0.333"

と、同じ。

%7d の 7 を引数から取ってくることができるようになる。C 言語の(もしかしたら、GNU拡張の)printf にあった機能で、ruby に取り込まれているんだと思う。

C 言語だと決定的に便利な機能だと思うんだけど、ruby だと%#{size}d って書けばいいから不要かも。

※ 私の記憶が確かなら、java の sprintf にはこの機能がない。

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6