My Bad
Craig Black
cblack at ara.com
Thu Jul 12 11:47:15 PDT 2007
Oh OK. Tango is now redeemed.
"kris" <foo at bar.com> wrote in message news:f75sn0$187s$1 at digitalmars.com...
> Craig Black wrote:
>> // Tango yuck
>> Stdout("x is ")(x).newline;
>
> It not at all clear why some folks have latched onto the above syntax as
> some kind of figurehead :)
>
> This is Tango formatting:
>
> # Stdout.formatln ("x is {}, y is {}, z is {}", x, y, z);
>
> along with this variation for handling I18N argument indexing:
>
> # Stdout.formatln ("x is {2}, y is {0}, z is {1}", y, z, x);
>
> Yes, there are optional formatting specifiers within the {} also. It just
> so happens that Tango /also/ supports non-formatted output using the same
> entity:
>
> # Stdout (x);
>
> And, for those who just need to output some values quickly, sans
> formatting, the same call handles more than one argument:
>
> # Stdout (x, y, z);
>
> Notice the lack of formatting text in the above? Instead it simply emits
> ", " between the arguments, since that is how it is written in the call.
>
>
> It just so happens that Stdout also returns itself, which can be used for
> chaining purposes. Hence, you /can/ use it in the following manner:
>
> Stdout (x) (y) (z);
>
> Tango has an idiom of returning a chaining instance when there's nothing
> much else of value to return. The above is just a continuation of that
> general pattern, and does not imply some kind of usage requirement.
>
> I hope this helps to clarify somewhat?
>
>
>
>
>
>
>
>
>
>
More information about the Digitalmars-d-learn
mailing list