[Python-Dev] Yet another string formatting proposal
Thu, 21 Nov 2002 18:12:55 -0500
On Thu, Nov 21, 2002 at 05:00:44PM -0500, Paul Svensson wrote:
> On Thu, 21 Nov 2002, Oren Tirosh wrote:
> >One advantage of using an operator, method or function over in-line
> >formatting is that it enables the use of a template. A new string method
> >can provide run-time evaluation of the same format:
> > "\(a) + \(b) = \(a+b)\n"
> > r"\(a) + \(b) = \(a+b)\n".cook()
> >A raw string is used to defer the evaluation of all backslash escape
> >sequences to some later time. The cook method evaluates backslash
> >escapes in the string, including any embedded expressions. This runtime
> >version may be used for internationalization, for example.
> Why not call this method "eval", so we all will know to treat it with care ?
If cook() is limited to variable names it will be pretty safe and no
special care should be necessary. In that case the example above wouldn't
work, though, because it contains (a+b). It will need to use cook_eval().
Since what it does is the opposite of "raw" I just had to call it "cook"!