From: "nagachika (Tomoyuki Chikanaga) via ruby-core" Date: 2025-11-09T12:12:27+00:00 Subject: [ruby-core:123748] [Ruby Bug#21677] Integer("08") raises an ArgumentError Issue #21677 has been updated by nagachika (Tomoyuki Chikanaga). Status changed from Open to Rejected Thanks for the report, and for checking this. As Ufuk already stated, this is the intended behavior, and it is also clearly documented. ---------------------------------------- Bug #21677: Integer("08") raises an ArgumentError https://bugs.ruby-lang.org/issues/21677#change-115139 * Author: ben (Bj�rn Engelmann) * Status: Rejected * ruby -v: 3.3.0 - 3.3.8 * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- ruby version: tried it with 3.3.0 and 3.3.8 When running the following ruby script: p Integer("04") p Integer("05") p Integer("06") p Integer("07") p Integer("08") I get the following output: 4 5 6 7 :307:in `Integer': invalid value for Integer(): "08" (ArgumentError) from bug.rb:7:in `
' it seems that "08" and "09" are for some reason not parsable, while all other number "00", "01", "02", "03", "04", "05", "06", and "07" are. I would have expected the Integer-parser to have consistent behaviour, independent of the numbers that are parsed... By the way: it the same for "008", "0008" and so on. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/