Issue #8573 has been updated by bozhidar (Bozhidar Batsov).


nobu (Nobuyoshi Nakada) wrote:
> =begin
> Do you mean this?
> 
>   def format(*args)
>     sprintf(self, *args)
>   end
> or
>  def format(*args)
>   self % args
>  end
> =end

I'd prefer something implemented in terms of sprintf. 

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

* 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>