www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Explicit ordering with std.format

reply =?iso-8859-2?B?VG9tZWsgU293afFza2k=?= <just ask.me> writes:
An extract from java.util.Formatter docs:

// Explicit argument indices may be used to re-order output.
formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
// -> " d  c  b  a"

How do I achieve this with std.format? The ddocs only say that "variadic  
arguments are consumed in order". Any way to change that order?


Tomek
Dec 04 2009
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Tomek Sowiński:
 How do I achieve this with std.format?
I think you can't (and I haven't had the need to do it). Bye, bearophile
Dec 05 2009
parent Ary Borenszweig <ary esperanto.org.ar> writes:
bearophile wrote:
 Tomek Sowiński:
 How do I achieve this with std.format?
I think you can't (and I haven't had the need to do it).
It's somtimes needed with I18N code.
Dec 05 2009
prev sibling parent Joel Christensen <joelcnz gmail.com> writes:
Tomek Sowiński wrote:
 An extract from java.util.Formatter docs:
 
 // Explicit argument indices may be used to re-order output.
 formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
 // -> " d  c  b  a"
 
 How do I achieve this with std.format? The ddocs only say that "variadic 
 arguments are consumed in order". Any way to change that order?
 
 
 Tomek
With the D Tango library you can put: Stdout.format("{3} {2} {1} {0}", "a", "b", "c", "d");
Dec 05 2009