Rubyで固定長の値を扱う方法sprintfとパーセント演算子

Tags: [ Ruby ] [ 備忘録 ] Published: 2012/01/23

あらすじ

  • Rubyで固定長の値を扱うときはどうしたらいいんだろう
    • 必ず5ケタにしたい! 255の場合は00255になってほしい

参考サイト

sprintfフォーマット - Rubyリファレンスマニュアル

Ruby チュートリアル - 4. 主なクラス の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の方が何やっているかはわかりやすいけど、これは慣れの問題っぽいしな。

blog comments powered by Disqus

Author: kk_Ataka / Powered by Jekyll on GitHub Pages