On Thu, 04 Nov 2010 02:06:37 -0400, kenji hara <[email protected]> wrote:
Personally, I consider comma separated formatting to be inlined, or at
least inline style
OK, I call the kind of expand "Embedded Formatting" in this
discussion, to avoid confusion.
I again want to emphasize with the Need of Embedded Formatting, with
some code.
If you only use built-in string literals, you can't avoid escaping of
code string.
----
enum op = "+";
enum code = "a "~op~" b";
// use "" and manual escaping. It is same with r"" and ``.
enum code = mixin(expand!"a $op b");
// automatically escaping
// quoted string has problem with embedding...
enum code = q{
struct A{
enum str = "hello!";
enum val = a }~op~{ b; // invalid! can't embed correctly.
}
};
enum code = "
struct A{
enum str = \"hello!\"; // manual escaping!
enum val = a " ~ op ~ " b;
}
";
enum code = mixin(expand!q{
struct A{
enum str = "hello!"; // automatically escaping
enum val = a $op b; // automatically embedding
}
}); // and editor highlighting will mostly succeed.
----
I DO NOT want to think about escaping of code string!
In this regard, expand is very usuful.
Kenji
I just wanted to point out that D has 6 different types of Wysiwyg Strings
in addition to standard escape based "" strings and the q{} token strings.
i.e.
enum code = `
struct A{
enum str = "hello!";
enum val = a `~op~` b;
`;
Anyways, for me, $Type definitely makes expand a worthwhile addition to
Phobos.
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos