rubyでsprintfするときに注意!

このエントリーをはてなブックマークに追加
はてなブックマーク - rubyでsprintfするときに注意!
LINEで送る
Pocket

概要

  • ゼロ埋めされた文字列を、sprintfの第2引数に渡すと、正しい値、間違った値、例外が飛ぶ場合があるので、エラーの特定が困難になる
  • 静的解析も難しいから気をつけるしか無いのかな。

実験

Ruby 2.1 on Mac OS 10.0.3 で検証。

7まで正しいけど、それ以降はエラーがでたり、予期しない値が返されたりします。

このエントリーをはてなブックマークに追加
はてなブックマーク - rubyでsprintfするときに注意!
LINEで送る
Pocket

matsubokkuri

Please feel free to contact me via e-mail, twitter and facebook!

あわせて読みたい

2件のフィードバック

  1. noname より:

    0で始まると8進数。

    • Yuki Matsukura より:

      なるほど。。。。
      初歩的なところでした。

      9より大きい数字が入っているとエラーになるところで気づけってかんじでしたね。


      > 010.to_i
      => 8

コメントを残す