Am 06.07.2019 um 16:25 schrieb Florian Klämpfl:
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.
I've also complained about that point here:
https://lists.freepascal.org/pipermail/fpc-devel/2019-July/041453.html
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel