From: Thomas Sawyer <transfire@...> Date: 2011-11-03T10:25:55+09:00 Subject: [ruby-core:40697] [ruby-trunk - Feature #5558][Open] String#% strange arity errors Issue #5558 has been reported by Thomas Sawyer. ---------------------------------------- Feature #5558: String#% strange arity errors http://redmine.ruby-lang.org/issues/5558 Author: Thomas Sawyer Status: Open Priority: Normal Assignee: Category: Target version: When the number of arguments do not match the number of % parameters, the String#% method has some odd behavior. When too many, it seems to work fine, ignoring the extra arguments. "%s" % [1,2] #=> "1" But if `$DEBUG = true`, "%s" % [1,2] #=> ArgumentError: too many arguments for format string That doesn't seem right. Is it an error or isn't it? For too few arguments it is always an error: "%s" % [] #=> ArgumentError: too few arguments Personally, I think it should use '' for missing arguments. That would make it more flexible in practice. I consider the first $DEBUG issue a bug, and the later a feature. But I'll just call it a feature altogether to make things easier. -- http://redmine.ruby-lang.org