[Ruby][備忘録]Rubyで固定長の値を扱う方法sprintfとパーセント演算子
あらすじ
- Rubyで固定長の値を扱うときはどうしたらいいんだろう
- 必ず5ケタにしたい! 255の場合は00255になってほしい
参考サイト
http://www.ruby-lang.org/ja/old-man/html/sprintf_A5D5A5A9A1BCA5DEA5C3A5C8.html:title
http://www.oki-osk.jp/esc/ruby/tut-04.html:title の4.2
方法
調べてみるとsprintfメソッドというものがあった。
irb(main):020:0> sprintf("Number:%10d", 255)
=> "Number: 255"
irb(main):021:0> sprintf("Number:%010d", 255)
=> "Number:0000000255"
なるほど、これを使えば良いのかと思っていたら、次にStringクラスに%(パーセント演算子)というものが存在している事を発見。どんな事をしてくれるのかというと…
irb(main):022:0> "Number:%010d" % 255
=> "Number:0000000255"
とりあえず、使ってないと見慣れない物体に見えるなぁ。
という事で、方法を二種類見つけたんだけど、これどっち使うのがいいんだろう。個人的にはsprintfの方が何やっているかはわかりやすいけど、これは慣れの問題っぽいしな。