Am 05.07.2019 um 17:29 schrieb Ryan Joseph:
> This may not be related but why does "l: string = lines;” work, shouldn’t 
> that be an error or at least get clipped? I’m seeing writeln prints out the 
> entire string as if it was an ansistring.
> 
> {$mode objfpc}
> {$multilinestringlineending crlf}
> {$h+}
> 
> program test;
> 
> const lines = `
>   #version 150
> 
>   uniform sampler2D textures[8];
>   in vec2 vertexTexCoord;
>   in vec4 vertexColor;
>   in float vertexUVMap;
>   out vec4 fragColor;
> 
>   void main()
>   {
>     if (vertexUVMap == 255) {
>       fragColor = vertexColor;
>     } else {
>       fragColor = texture(textures[int(vertexUVMap)], vertexTexCoord.st);
>       if (vertexColor.a < fragColor.a) {
>         fragColor.a = vertexColor.a;
>       }
>     }
>   }`;

I tried to follow the thread, but one think I miss is: what are the rules for 
indention? Does the lines string contain
spaces at the beginning of every line or not? Are they removed? How many are 
removed? What about tabs? Actually, this is
my main concern with such multiline strings: spaces/tabs at the beginning of a 
line cannot be handled in an intuitive way.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to