tag:forum.selfhtml.org,2005:/selfswitch ... case Fall auch durch Variable angebbar – SELFHTML-Forum2017-05-03T22:05:34Zhttps://forum.selfhtml.org/self/2017/may/2/switch-punkt-punkt-punkt-case-fall-auch-durch-variable-angebbar/1693443#m1693443mathefritz2017-05-02T19:03:54Z2017-05-02T19:03:54Zswitch ... case Fall auch durch Variable angebbar<pre><code class="block"><script>
v1 = 1; v2 = 2; sw = 1;
switch (sw){
case v1: alert(1);break;
case v2: alert(2);break;
}
</script>
</code></pre>
<p>erstaunt stelle ich fest das obiges funktioniert. Würmer?</p>
https://forum.selfhtml.org/self/2017/may/2/switch-punkt-punkt-punkt-case-fall-auch-durch-variable-angebbar/1693445#m1693445Regina Schaukrug2017-05-02T19:23:46Z2017-05-02T19:43:31Zswitch ... case Fall auch durch Ausdruck angebbar<p>Stell dir vor:</p>
<pre><code class="block"><script>
switch ( true ) {
case ( 'bar' == foo ):
alert ("Ha!");
break;
</code></pre>
<p>geht auch ...</p>
https://forum.selfhtml.org/self/2017/may/2/switch-punkt-punkt-punkt-case-fall-auch-durch-variable-angebbar/1693446#m1693446Tabellenkalk2017-05-02T19:26:37Z2017-05-02T19:26:37Zswitch ... case Fall auch durch Variable angebbar<p>Hallo,</p>
<blockquote>
<p>Case (Käs?) erstaunt</p>
</blockquote>
<p>Es wird auf Gleichheit getestet, man kann zwei Variablen daraufhin prüfen, so what?</p>
<blockquote>
<p>Würmer?</p>
</blockquote>
<p>Watt?</p>
<p>Gruß<br>
Kalk</p>
https://forum.selfhtml.org/self/2017/may/2/switch-punkt-punkt-punkt-case-fall-auch-durch-variable-angebbar/1693452#m1693452mathefritz2017-05-02T21:19:41Z2017-05-02T21:27:47Zswitch ... case Fall auch durch Ausdruck angebbar<p>Danke;<br>
ja. das hab ich im wiki schon gesehen;<br>
meine Version kann ich nun zusammen mit folgendem verwenden, wobei aber wünschenswert wäre<br>
daß es auch mit const funktioniert.</p>
<pre><code class="block"><script>
function f(v,i){ eval(/* 'const ' + */ v +' = '+'i' + ';');}
['nll','eins','zwei'].forEach( f );
</script>
</code></pre>
<p>In der gedachten Anwendung enthält der Array natürlich sinnvolle Symbole die je nach Situation der Switch-Variablen zugewiesen werden; und das ganze soll etwas Tipparbeit ersparen und versehentliche Vergabe derselben Nummer an verschiedene Symbole ausschließen.<br>
Welcher Wert einem bestimmten Symbol zugewiesen wird ist gleichgültig.</p>
https://forum.selfhtml.org/self/2017/may/2/switch-punkt-punkt-punkt-case-fall-auch-durch-variable-angebbar/1693453#m1693453mathefritz2017-05-02T21:23:57Z2017-05-02T21:23:57Zswitch ... case Fall auch durch Variable angebbar<p>nun, in anderen Sprachen soweit mir bekannt, müssen es Konstanten sein .</p>
<p>"Würmer" = Fallstricke, Probleme die dabei entstehen könnten.</p>
<p>Gruß m.f.</p>
https://forum.selfhtml.org/self/2017/may/2/switch-punkt-punkt-punkt-case-fall-auch-durch-variable-angebbar/1693457#m1693457dedlfix2017-05-02T22:42:33Z2017-05-02T22:42:33Zswitch ... case Fall auch durch Ausdruck angebbar<p>Tach!</p>
<blockquote>
<p>In der gedachten Anwendung enthält der Array natürlich sinnvolle Symbole die je nach Situation der Switch-Variablen zugewiesen werden; und das ganze soll etwas Tipparbeit ersparen und versehentliche Vergabe derselben Nummer an verschiedene Symbole ausschließen.</p>
</blockquote>
<p>Was auch immer du konkret für einen Anwendungsfall hast, ich würde mir dreimal überlegen, ob das unbedingt mit eval() gelöst sein muss. Da gibt es sicherlich eine elegantere Lösung als wegen Tipparbeitersparnis sich solchen undurchsichtigen Code ans Bein zu binden.</p>
<p>dedlfix.</p>
https://forum.selfhtml.org/self/2017/may/2/switch-punkt-punkt-punkt-case-fall-auch-durch-variable-angebbar/1693456#m1693456dedlfix2017-05-02T22:37:26Z2017-05-02T22:37:26Zswitch ... case Fall auch durch Variable angebbar<p>Tach!</p>
<blockquote>
<p>nun, in anderen Sprachen soweit mir bekannt, müssen es Konstanten sein .</p>
</blockquote>
<p>In <em>manchen</em> anderen Sprachen. Aber andere Sprachen sind eben andere Sprachen. Unterschiede inklusive - nicht nur beim switch.</p>
<p>dedlfix.</p>
https://forum.selfhtml.org/self/2017/may/2/switch-punkt-punkt-punkt-case-fall-auch-durch-variable-angebbar/1693584#m1693584mathefritz2017-05-03T22:05:34Z2017-05-03T22:05:34Zswitch ... case Fall auch durch Ausdruck angebbar<p>nun ja, sobald es den Datentyp enum gibt wird dieser natürlich des bevorzugte Mittel sein .</p>