Alternate string literal syntax (with mixins)?
janderson
askme at me.com
Sun Feb 11 13:00:03 PST 2007
Kristian Kilpi wrote:
>
> 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);
It's a good idea. Whatever the symbols are, they should be nestable and
should be generic so they can be used for normal strings.
-Joel
More information about the Digitalmars-d
mailing list