Frage zu logischen Operatoren – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Frage zu logischen Operatoren Mon, 30 Mar 20 18:58:52 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768070#m1768070 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768070#m1768070 <p>Hallo, danke für eure Zeit!</p> <p>Ich habe da eine Frage zu logischen Operatoren in Javascript (vielleicht am besten erläutert anhand eines Fallbeispiels):</p> <p>Warum gibt</p> <pre><code class="block language-javascript"> <span class="token keyword">let</span> Var <span class="token number">1</span><span class="token punctuation">;</span> Var <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">&&</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"Var ist 1!"</span><span class="token punctuation">)</span> <span class="token operator">||</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"Var ist nicht 1!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>sowohl "Var ist 1!" als auch "Var ist nicht 1!" aus? (Sollte das Script nicht vor <code>ODER</code> Halt machen, da die erste Bedingung schon true zurückgibt?)</p> <p>Wahrscheinlich übersehe ich hier etwas ganz Offensichtliches, trotzdem danke für Aufklärung!</p> <p>LG, Christian.</p> Frage zu logischen Operatoren Mon, 30 Mar 20 19:02:50 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768071#m1768071 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768071#m1768071 <p>...muss natürlich</p> <pre><code class="block">let Var = 1; </code></pre> <p>heißen, entschuldigung</p> Frage zu logischen Operatoren Mon, 30 Mar 20 19:10:34 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768072#m1768072 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768072#m1768072 <p>Hallo Christian,</p> <blockquote> <p>Sollte das Script nicht vor ODER Halt machen, da die erste Bedingung schon true zurückgibt?</p> </blockquote> <p>Das ODER guckt nicht auf die erste Bedingung, sondern auf seinen linken Operanden. Der lautet <code>Var === 1 && console.log("Var ist 1!")</code>. Überleg Dir mal, was console.log zurückgibt und was das Ergebnis des <code>&&</code> ist.</p> <p>Boolesche Operatoren sind hier aber nicht das Mittel der Wahl. Verwende den ternären Operator <code>?:</code>, um den Meldungstext zu bestimmen.</p> <p>Und verwende keinesfalls den Variablennamen <code>Var</code>. <code>var</code> ist ein reserviertes Wort und <code>Var</code> ist dem viel zu ähnlich.</p> <pre><code class="block language-js"><span class="token keyword">let</span> foo <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>foo <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">?</span> <span class="token string">"foo ist 1"</span> <span class="token operator">:</span> <span class="token string">"foo ist nicht 1"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Frage zu logischen Operatoren Mon, 30 Mar 20 19:12:45 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768073#m1768073 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768073#m1768073 <p>Hallo Christian,</p> <blockquote> <p>Warum gibt</p> <pre><code class="block language-javascript"> <span class="token keyword">let</span> Var <span class="token number">1</span><span class="token punctuation">;</span> Var <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">&&</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"Var ist 1!"</span><span class="token punctuation">)</span> <span class="token operator">||</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"Var ist nicht 1!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>sowohl "Var ist 1!" als auch "Var ist nicht 1!" aus? (Sollte das Script nicht vor <code>ODER</code> Halt machen, da die erste Bedingung schon true zurückgibt?)</p> </blockquote> <p>nein, für UND müssen ja <strong>beide</strong> Operanden true ergeben, also muss der zweite auch noch ausgewertet werden. Du hättest dann recht, wenn der erste Teilausdruck false ergeben würde.</p> <p>Live long and <s>pros</s> healthy,<br>  Martin</p> <div class="signature">-- <br> Ich stamme aus Ironien, einem Land am sarkastischen Ozean. </div> Frage zu logischen Operatoren Tue, 31 Mar 20 08:44:10 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768099#m1768099 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768099#m1768099 <p>Lieber Christian,</p> <p>in meinem Fall habe ich die Erfahrung gemacht, dass ich mit ungeklammerten Ausdrücken der Art <code>a && b || c</code> regelmäßig Schiffbruch erleide, weil ich sie schlicht nicht (gut genug) verstehe. Wenn ich dagegen Klammern setze, dann verstehe ich sie (besser):</p> <pre><code class="block language-javascript"><span class="token keyword">if</span> <span class="token punctuation">(</span>a <span class="token operator">&&</span> <span class="token punctuation">(</span>b <span class="token operator">||</span> c<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">//</span> <span class="token punctuation">}</span> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token punctuation">(</span>a <span class="token operator">&&</span> b<span class="token punctuation">)</span> <span class="token operator">||</span> c<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">//</span> <span class="token punctuation">}</span> </code></pre> <p>Du willst eine Log-Ausgabe. Was willst Du da wissen?</p> <blockquote> <pre><code class="block language-javascript"> <span class="token keyword">let</span> Var <span class="token number">1</span><span class="token punctuation">;</span> Var <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">&&</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"Var ist 1!"</span><span class="token punctuation">)</span> <span class="token operator">||</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"Var ist nicht 1!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> </blockquote> <p>Du willst wissen, ob eine Variable einen bestimmten Wert hat. Das macht man üblicherweise so, dass man <em>zuerst</em> die Log-Methode aufruft <em>und dann</em> in den Klammern des Aufrufes notiert, was da auszugeben ist:</p> <pre><code class="block language-javascript">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"ja was denn nun?"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Der sogenannte <a href="https://wiki.selfhtml.org/wiki/JavaScript/Verzweigung#Einfache_Entweder-Oder-Abfrage" rel="nofollow noopener noreferrer">ternäre Operator</a> wurde hier ja schon angesprochen. Mit ihm ist die Ausgabe am besten lesbar und verständlich:</p> <pre><code class="block language-javascript">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>bedingung <span class="token operator">?</span> <span class="token string">"erfüllt"</span> <span class="token operator">:</span> <span class="token string">"nicht erfüllt"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span> Var <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">?</span> <span class="token string">"Var ist 1!"</span> <span class="token operator">:</span> <span class="token string">"Var ist nicht 1!"</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Liebe Grüße</p> <p>Felix Riesterer</p> Frage zu logischen Operatoren Mon, 30 Mar 20 20:14:38 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768082#m1768082 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768082#m1768082 <p>Hallo,</p> <p>okay, es ist offensichtlich Zeit, eine kleine Pause einzulegen... </p> <p>STIMMT, <code>console.log()</code> liefert ja selbst nicht <em>true</em> zurück ‍♂️</p> <p>Müsste natürlich so formuliert sein (dann funktioniert es auch wie erwartet):</p> <pre><code class="block language-javascript">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>Var <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">&&</span> <span class="token string">"Var ist 1!"</span> <span class="token operator">||</span> <span class="token string">"Var ist nicht 1!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <blockquote> <p>Und verwende keinesfalls den Variablennamen Var. var ist ein reserviertes Wort und Var ist dem viel zu ähnlich.</p> </blockquote> <p>Auch <code>foo</code> ist nur ein Dummy-Variablenname, als Platzhalter für sinnvollere Namensgebungen gedacht. Prinzipiell hast du aber vollkommen recht, darauf hinzuweisen - immerhin wird der Thread vielleicht auch von anderen gelesen, die sich dann daran ein schlechtes Beispiel nehmen, hatte ich nicht bedacht.</p> <blockquote> <p>Boolesche Operatoren sind hier aber nicht das Mittel der Wahl. Verwende den ternären Operator ?:, um den Meldungstext zu bestimmen.</p> </blockquote> <p> </p> <p><em>Der ternäre Operator war es, der die Verwirrung überhaupt erst gestiftet hat. Denn</em></p> <pre><code class="block language-javascript">foo <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">?</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"foo ist 1"</span><span class="token punctuation">)</span> <span class="token operator">:</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"foo ist nicht 1"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p><em>erzielt den gewünschten Effekt,</em></p> <pre><code class="block language-javascript">foo <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">&&</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"foo ist 1!"</span><span class="token punctuation">)</span> <span class="token operator">||</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"foo ist nicht 1!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p><em>eben [logischerweise] nicht.</em></p> <p>Danke für deine Zeit.</p> Frage zu logischen Operatoren Mon, 30 Mar 20 20:20:25 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768083#m1768083 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768083#m1768083 <p>Hallo Martin,</p> <p>danke für deine Antwort!</p> <p>(Meine Stellungnahme dazu siehe obige Antwort auf Rolfs Beitrag)</p> Frage zu logischen Operatoren Wed, 01 Apr 20 04:15:35 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768146#m1768146 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768146#m1768146 <p>Bedenke aber bitte dass so ein Konstrukt zum Verständnis und als Lernfunktion sehr interresant ist, aber in ernsthaftem Code nichts zu suchen hat.</p> <p>Wenn nicht sogar du selbst irgendwann verfluchst dass du das so geschrieben hast, tut es vielleicht ein anderer.</p> Frage zu logischen Operatoren Tue, 31 Mar 20 09:17:25 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768100#m1768100 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768100#m1768100 <p>Hallo Felix,</p> <blockquote> <p>Schiffbruch erleide, weil ich sie schlicht nicht (gut genug) verstehe.</p> </blockquote> <p>Solange Du in PHP nicht sowas machst wie <code>$boo11 AND $bool2 || $bool3</code> - was Dir dein Schiff unweigerlich auf den Grund setzt - kannst Du Dir für die Priorität und Assoziativität der Operatoren && als Multiplikation und || als Addition vorstellen, das ist vertraut und dann geht's besser.</p> <p>(Es sei denn, du gehört zu den Facebooktrollen, die die Aufgabe <strong>1+2 ⋅ 3 = ?</strong> mit 7 statt mit 9 beantworten)</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Frage zu logischen Operatoren Tue, 31 Mar 20 09:45:03 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768102#m1768102 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768102#m1768102 <p>Hallo Felix Riesterer,</p> <blockquote> <pre><code class="block language-javascript">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span> Var <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">?</span> <span class="token string">"Var ist 1!"</span> <span class="token operator">:</span> <span class="token string">"Var ist nicht 1!"</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> </blockquote> <p><code>1! = 0</code>. (Eins Fakultät ist null.)</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Du kannst das Projekt SELFHTML unterstützen,<br> indem du bei Amazon-Einkäufen <a href="https://smile.amazon.de/ch/314-570-45498" rel="nofollow noopener noreferrer">Amazon smile</a> (<a href="https://www.amazon.de/gp/help/customer/display.html?ie=UTF8&nodeId=202035970%5D" rel="nofollow noopener noreferrer">Was ist das?</a>) nutzt. </div> Frage zu logischen Operatoren Tue, 31 Mar 20 11:23:02 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768110#m1768110 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768110#m1768110 <p>Hi,</p> <blockquote> <p>Der sogenannte <a href="https://wiki.selfhtml.org/wiki/JavaScript/Verzweigung#Einfache_Entweder-Oder-Abfrage" rel="nofollow noopener noreferrer">ternäre Operator</a></p> </blockquote> <p>ich wäre da vorsichtig mit der Bezeichnung "Der ternäre Operator".</p> <p>Ja, das ist ein ternärer Operator. Und nach meinem Kenntnisstand derzeit auch der einzige derartige Operator.</p> <p>Aber was, wenn jemand einen weiteren Operator mit 3 Operanden erfindet? Z.B. den Dreiecksflächen-Operator Δ:</p> <p>A = 3 Δ 4 : 5;</p> <p>A enthält dann die Fläche des Dreiecks mit den gegebenen Seitenlängen.</p> <p>Uuuups, schon passiert - ?: ist nicht mehr DER ternäre Operator.</p> <p>Ich würde das ?: Teil eher "conditional operator" nennen oder, wenn's Deutsch sein soll, "Bedingungs-Operator".</p> <p>(ja, ich weiß, das ist hier nicht die erste Erwähnung dieses Operators im Thread, aber beim Lesen der anderen Erwähnungen hatte ich nicht die Zeit/Muße, meine Anmerkung zu formulieren)</p> <p>cu,<br> Andreas a/k/a MudGuard</p> Frage zu logischen Operatoren Tue, 31 Mar 20 09:42:49 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768101#m1768101 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768101#m1768101 <p>Hallo Rolf B,</p> <blockquote> <p>(Es sei denn, du gehört zu den Facebooktrollen, die die Aufgabe <strong>1+2 ⋅ 3 = ?</strong> mit 7 statt mit 9 beantworten)</p> </blockquote> <p>Ich bin ein Facebooktroll.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Du kannst das Projekt SELFHTML unterstützen,<br> indem du bei Amazon-Einkäufen <a href="https://smile.amazon.de/ch/314-570-45498" rel="nofollow noopener noreferrer">Amazon smile</a> (<a href="https://www.amazon.de/gp/help/customer/display.html?ie=UTF8&nodeId=202035970%5D" rel="nofollow noopener noreferrer">Was ist das?</a>) nutzt. </div> Frage zu logischen Operatoren Tue, 31 Mar 20 10:06:31 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768105#m1768105 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768105#m1768105 <p>Lieber Rolf,</p> <blockquote> <p>Solange Du in PHP nicht sowas machst wie <code>$boo11 AND $bool2 || $bool3</code> - was Dir dein Schiff unweigerlich auf den Grund setzt - kannst Du Dir für die Priorität und Assoziativität der Operatoren && als Multiplikation und || als Addition vorstellen, das ist vertraut und dann geht's besser.</p> </blockquote> <p>alles schön und gut, aber warum nicht lieber Klammern setzen? Meistens sind es ja keine Variablen, sondern Ausdrücke, die ich an diesen Stellen formuliere.</p> <blockquote> <p>(Es sei denn, du gehört zu den Facebooktrollen, die die Aufgabe <strong>1+2 ⋅ 3 = ?</strong> mit 7 statt mit 9 beantworten)</p> </blockquote> <p>Wenn das immer so einfach aussehen würde, könnte man das auch so einfach erkennen...</p> <p>Liebe Grüße</p> <p>Felix Riesterer</p> Frage zu logischen Operatoren Tue, 31 Mar 20 10:30:47 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768108#m1768108 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768108#m1768108 <blockquote> <p>(Es sei denn, du gehört zu den Facebooktrollen, die die Aufgabe <strong>1+2 ⋅ 3 = ?</strong> mit 7 statt mit 9 beantworten)</p> </blockquote> <p>Ist mir zu hoch? </p> Frage zu logischen Operatoren Tue, 31 Mar 20 09:56:27 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768104#m1768104 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768104#m1768104 <p>Hallo,</p> <blockquote> <blockquote> <p>(Es sei denn, du gehört zu den Facebooktrollen, die die Aufgabe <strong>1+2 ⋅ 3 = ?</strong> mit 7 statt mit 9 beantworten)</p> </blockquote> <p>Ich bin ein Facebooktroll.</p> </blockquote> <p>Das halte ich für einen ungültigen Umkehrschluss!</p> <p>Gruß<br> Kalk</p> Frage zu logischen Operatoren Tue, 31 Mar 20 09:49:02 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768103#m1768103 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768103#m1768103 <p>Hallo Matthias,</p> <blockquote> <p>Ich bin ein Facebooktroll.</p> </blockquote> <p>Nicht nur dort?</p> <blockquote> <p>$$1! == 0$$</p> </blockquote> <p>Welche Fächer unterrichtest Du noch gleich?</p> <p>$$0! == 1$$</p> <p>Das wäre ok.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Frage zu logischen Operatoren Tue, 31 Mar 20 10:10:26 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768106#m1768106 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768106#m1768106 <p>Hallo Rolf B,</p> <blockquote> <p>Nicht nur dort?</p> </blockquote> <p>Ups! Mir ging es eigentlich um die inflationäre Verwendung des Ausrufezeichens!</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Du kannst das Projekt SELFHTML unterstützen,<br> indem du bei Amazon-Einkäufen <a href="https://smile.amazon.de/ch/314-570-45498" rel="nofollow noopener noreferrer">Amazon smile</a> (<a href="https://www.amazon.de/gp/help/customer/display.html?ie=UTF8&nodeId=202035970%5D" rel="nofollow noopener noreferrer">Was ist das?</a>) nutzt. </div> Frage zu logischen Operatoren Tue, 31 Mar 20 11:50:14 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768111#m1768111 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768111#m1768111 <p>Hallo,</p> <blockquote> <p>ich wäre da vorsichtig mit der Bezeichnung "Der ternäre Operator".</p> <p>Ja, das ist ein ternärer Operator. Und nach meinem Kenntnisstand derzeit auch der einzige derartige Operator.</p> </blockquote> <p>kurze Recherche: in SQL wird <code>BETWEEN</code> manchmal auch als ternärer Operator bezeichnet.</p> <p>Gruß<br> Kalk</p> Frage zu logischen Operatoren Tue, 31 Mar 20 13:16:26 Z https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768121#m1768121 https://forum.selfhtml.org/self/2020/mar/30/frage-zu-logischen-operatoren/1768121#m1768121 <p>Hi,</p> <blockquote> <blockquote> <p>Ja, das ist ein ternärer Operator. Und nach meinem Kenntnisstand derzeit auch der einzige derartige Operator.</p> </blockquote> </blockquote> <blockquote> <p>kurze Recherche: in SQL wird <code>BETWEEN</code> manchmal auch als ternärer Operator bezeichnet.</p> </blockquote> <p>ah stimmt, an den hab ich gar nicht gedacht. Dann gibt's ja jetzt schon drei ternäre Operatoren.</p> <p>cu,<br> Andreas a/k/a MudGuard</p>