encoding of EOL in string literals

Jarrett Billingsley kb3ctd2 at yahoo.com
Sun Feb 11 21:56:25 PST 2007


"BCS" <ao at pathlink.com> wrote in message 
news:ce0a334372708c91c2ef2178e6e at news.digitalmars.com...
> I'm not complaining , just wondering if this is correct.
>
> This code produces the exact same output regardless of the type of 
> end-of-line (\n, \n\r or \r) used
>
> import std.stdio;
> void main()
> {
> foreach(char c; "hello
> world
> ")
> writef("%s\n", cast(ubyte) c);
> }
>
> On linux for all three cases the output is:
>
> 104
> 101
> 108
> 111
> 10
> 119
> 111
> 114
> 108
> 100
> 10
>
> This indicates that the EOLs are all handled before the parsing of the 
> string.

In the "Lexical" section of the spec, it says "EndOfLine is regarded as a 
single \n character" with regards to multiline strings.  So there you go. 




More information about the Digitalmars-d-learn mailing list