Alternate string literal syntax (with mixins)?
Kristian Kilpi
kjkilpi at gmail.com
Sun Feb 11 07:52:20 PST 2007
String literals with mixins are a bit awkward sometimes (editor
highlighting etc).
Some special marks -- I use @{ }@ here -- could be used to mark a part of
a source file as a string literal, just like /* */ marks a part of code as
a comment. For example:
mixin(
@{
//this is a string literal block
if(...) {
...
}
}@
);
The @{ }@ marks have a close relation, of course, with quotation marks "".
But because there is a starting mark and an ending mark, you can nest
them. (And because they are used to mark a part of a file as a string
literal, they are not actually the part of the 'working code' just like
the "" literals are, if you get what I'm trying to say.)
E.g.
alias @{
str = @{ foo }@ ~ @{ bar }@;
str ~= "blah";
if(...) {
...
}
}@ MyCode;
mixin(MyCode);
More information about the Digitalmars-d
mailing list