From: "vo.x (Vit Ondruch) via ruby-core" Date: 2025-11-10T08:24:39+00:00 Subject: [ruby-core:123752] [Ruby Bug#21677] Integer("08") raises an ArgumentError Issue #21677 has been updated by vo.x (Vit Ondruch). OTOH, if the error message mentioned that it is not valid **octal** number, it would be more obvious to spot what is the problem ���� ---------------------------------------- Bug #21677: Integer("08") raises an ArgumentError https://bugs.ruby-lang.org/issues/21677#change-115143 * 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/