Issue #10454 has been updated by Nobuyoshi Nakada.


It varies with the platforms.
You should avoid all `%i`s.

----------------------------------------
Bug #10454: %i doesn't have any special behavior in rb_sprintf et al.
https://bugs.ruby-lang.org/issues/10454#change-49781

* Author: Max Anselm
* Status: Closed
* Priority: Normal
* Assignee: Zachary Scott
* Category: doc
* Target version: 
* ruby -v: ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
README.EXT claims:

> In the format string, `%i` is used for `Object#to_s` (or `Object#inspect`if + flag is set) output (and related argument must be aVALUE).

But if you look at the code, this isn't true. %d and %i are handled the same in `BSD_vfprintf` (which is where all the printf functions end up). Has this ever been the case? I went back to when this documentation was added and it still looks like they're handled the same.



-- 
https://bugs.ruby-lang.org/