From: "えだゆきひこ" Date: 2011-06-27T14:05:16+09:00 Subject: [ruby-list:48195] Date::parseで不正な和暦を検証できませんか? えだゆきひこです。 和暦の入力を受けて、西暦変換する処理をしているのですが 現状のDate::parseを使うと、指定元号の年数を過ぎていても 気を効かせて(?)無理矢理超過分と思われるDateに変換されてしまいます。 不正な指定ではないかを検査したいのですが、元号と日付の関係を チェックするようには出来ないでしょうか? ググると和暦処理については、ユーザの皆さんが個々に色々な工夫を されているようなのですが標準ライブラリで対応していただけると、 色々捗ると思います。いかがでしょうか? irb(main):002:0> RUBY_VERSION => "1.9.2" irb(main):004:0> Date::parse("S64.1.9") => # irb(main):007:0> Date::parse("S70.2.28") => # irb(main):005:0> Date::parse("M46.7.30") => # irb(main):006:0> Date::parse("M45.7.32") ArgumentError: invalid date from c:/usr/local/lib/ruby/1.9.1/date.rb:1022:in `new_by_frags' from c:/usr/local/lib/ruby/1.9.1/date.rb:1066:in `parse' from (irb):6 from c:/usr/local/bin/irb.bat:19:in `
' よろしくおねがいします。