:house: A feature-rich but lightweight, buildroot-based Linux operating system alternative for your CloudFree CCU3/ELV-Charly 'homematicIP CCU' IoT smarthome central. Running as a pure virtual appliance (ProxmoxVE, Home Assistant, LXC, Docker/OCI, Kubernetes/K8s, etc.) on a dedicated embedded device (RaspberryPi, etc.) or generic x86/ARM hardware.
Das elseif() funktioniert nicht innerhalb einer while() Schleife. Die Schleife wird nach dem 1. elseif abgebrochen. Ob auch foreach() betroffen ist, habe ich nicht überprüft.
Skript zum Nachstellen des Fehlers:
WriteLine("elseif funktioniert:");
integer i = 2;
WriteLine(i);
if (i == 0) { WriteLine("i=0"); }
elseif (i == 1) { WriteLine("i=1"); }
elseif (i == 2) { WriteLine("i=2"); }
elseif (i == 3) { WriteLine("i=3"); }
else { WriteLine("i=?"); }
WriteLine("elseif innerhalb while funktioniert nicht:");
integer i = 0;
while (i < 10) {
WriteLine(i);
if (i == 0) { WriteLine("i=0"); }
elseif (i == 1) { WriteLine("i=1"); }
elseif (i == 2) { WriteLine("i=2"); }
elseif (i == 3) { WriteLine("i=3"); }
else { WriteLine("i=?"); }
i = i + 1;
}
WriteLine("end");
Ausgabe:
elseif funktioniert:
2
i=2
elseif innerhalb while funktioniert nicht:
0
i=0
1
i=1
end
Erwartete Ausgabe:
elseif funktioniert:
2
i=2
elseif innerhalb while funktioniert nicht:
0
i=0
1
i=1
2
i=2
3
i=3
4
i=?
...
9
i=?
end
Das
elseif()
funktioniert nicht innerhalb einerwhile()
Schleife. Die Schleife wird nach dem 1. elseif abgebrochen. Ob auchforeach()
betroffen ist, habe ich nicht überprüft.Skript zum Nachstellen des Fehlers:
Ausgabe: