Issue #8573 has been updated by shyouhei (Shyouhei Urabe).


bozhidar (Bozhidar Batsov) wrote:
> naruse (Yui NARUSE) wrote:
> > Show concrete use case.
> 
> How about simply:
> 
> ~~~ ruby
> "Hello, %s %s!".format("Mr.", "Bond")
> ~~~

That's too simple.  What we need is how the requested feature _improves_ the situation.  What's wrong with the status-quo? and how is that relaxed using String#format?

----------------------------------------
Feature #8573: Add String#format method(not an alias of String#%)
https://bugs.ruby-lang.org/issues/8573#change-71518

* Author: bozhidar (Bozhidar Batsov)
* Status: Feedback
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
I think it'd be great if String included a method similar to `%` that accepts variable number of arguments (like `sprintf`). This is trivial to implement as you're certainly aware.

Here's one implementation suggestion:

  class String
    def format(*args)
      super(self, *(args.flatten))
    end
  end
 
This would make the new method behave both like `sprintf/format` and `String#%`. I think this minor improvement would definitely be in the spirit of making more programmers happy :-)

Here a bit more on the topic - http://batsov.com/articles/2013/06/27/the-elements-of-style-in-ruby-number-2-favor-sprintf-format-over-string-number-percent/



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>