From: rick.hull@... Date: 2017-01-24T11:33:11+00:00 Subject: [ruby-core:79236] [Ruby trunk Bug#13153] Inconsistent sprintf formatting for 0 value Issue #13153 has been reported by Rick Hull. ---------------------------------------- Bug #13153: Inconsistent sprintf formatting for 0 value https://bugs.ruby-lang.org/issues/13153 * Author: Rick Hull * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- 0.upto(5).map { |i| "%#0.2x" % i } # expect: ["0x00", "0x01", "0x02", "0x03", "0x04", "0x05"] # actual: ["00", "0x01", "0x02", "0x03", "0x04", "0x05"] Notice that the 0x is omitted when i == 0. The 0x prefix is specified by '#' (and 'x') in the format string. If this is expected behavior, then it sure is surprising and undocumented AFAIK. *goes back to double check* Behavior on 2.4.0 confirmed on 2.3.3 as well. -- https://bugs.ruby-lang.org/ Unsubscribe: