Ruby では、24092008 の形式で日付を解析しています。各セクション (年、月、日) を数値に変換したいと考えています。
整数コンストラクターに渡す 3 つの文字列を生成する正規表現を使用してそれらを分割しました。
date =~ /^([\d]{2})([\d]{2})([\d]{4})/
year = Integer($3)
month = Integer($2)
day = Integer($1)
月のラインに達すると、次のようにクラッシュします。
`Integer': invalid value for Integer: "09" (ArgumentError)
先頭のゼロを 8 進数として解釈しており、09 が有効な 8 進数ではないことに気付くまでに少し時間がかかりました (「07」でも問題なく動作します)。
これに対するエレガントな解決策はありますか、それとも 10 未満の数値をテストして最初にゼロを削除する必要がありますか?
ありがとう。