Project

General

Profile

Actions

Bug #17556

closed

ruby 2.7.2 ::YAML.dump ArgumentError: invalid value for Integer(): "20210101_"

Added by zhang.shuttlerock (Yuki Snow) over 3 years ago. Updated about 3 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:102149]

Description

再現方法
ruby '2.7.2'
'rails', '~> 6.0.3'

  • 利用している ruby のバージョン(ruby -v)
    2.7.2

  • 再現スクリプト

     $ bundle exec rails c
     [1] pry(main)> ::YAML.dump '20210101_'
     ArgumentError: invalid value for Integer(): "20210101_"
     from /Users/xxxx/.rbenv/versions/2.7.2/lib/ruby/2.7.0/psych/scalar_scanner.rb:104:in `Integer'
    
  • 再現方法から得られた結果
    '20210101_'や'2021__0101'は文字列ですので、elsif string.match?(INTEGER)分岐に入るのは良いかどうか不明ですが、
    整数として処理する場合、「,」だけは足りないでしょう。

     def parse_int string
       Integer(string.gsub(/[,]/, ''))
     end
    
  • 期待する結果とその理由
    エラーにならないように。

Actions #2

Updated by jeremyevans0 (Jeremy Evans) about 3 years ago

  • Status changed from Open to Closed

Updated by kicktheken (Kenneth Chan) about 3 years ago

Hello, when will this fix be available in the ruby 2.7 release branch?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0