tag:forum.selfhtml.org,2005:/selffrage der ordnung – SELFHTML-Forum2011-01-24T13:39:16Zhttps://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491108#m1491108bleicherkoro@nm.ruhttp://bleicher.isgreat.org/2011-01-23T22:00:40Z2011-01-23T22:00:40Zfrage der ordnung<p>Grüße,<br>
so aus neugier -</p>
<pre><code class="block language-javascript">
<span class="token keyword">var</span> i<span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span>
i<span class="token operator">=</span><span class="token operator">++</span>i <span class="token operator">+</span> <span class="token operator">++</span>i<span class="token punctuation">;</span>
</code></pre>
<p>was ergibt i in unterschiedlichen situtationen? von der Idee her 14, aber unter Opera11 in JS kriegt man 13.<br>
was kriegt man unter anderen browsern, programmiersprachen etc.?<br>
MFG<br>
bleicher</p>
<div class="signature">-- <br>
__________________________-<br>
<img src="http://img296.imageshack.us/img296/9641/minibannerso7.jpg" alt="" loading="lazy"><br>
<a href="http://www.firefoxmyths.com" rel="nofollow noopener noreferrer">FirefoxMyth</a>
</div>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491122#m1491122Der Martinself@kennst.net2011-01-23T22:07:41Z2011-01-23T22:07:41Zfrage der ordnung<p>Hallo,</p>
<blockquote>
<p>so aus neugier -</p>
<pre><code class="block language-javascript"></code></pre>
</blockquote>
<p>var i=5;</p>
<blockquote>
<p>i=++i + ++i;</p>
</blockquote>
<pre><code class="block">
> was ergibt i in unterschiedlichen situtationen?
was meinst du für unterschiedliche Situationen? Der Code ist eindeutig, es gibt nur eine richtige Interpretation.
> ~~~javascript
var i=5;
> i=++i + ++i;
</code></pre>
<p>"Lege eine Variable i an und gib ihr den Wert 5."<br>
"Erhöhe den aktuellen Wert von i (ergibt 6), lies ihn dann aus und merke ihn als ersten Summanden vor. Erhöhe nochmal den Wert von i (ergibt 7), lies ihn erneut aus und und nimm ihn als zweiten Summanden. Addiere die beiden und speichere das Ergebnis (13) in i."</p>
<blockquote>
<p>von der Idee her 14, aber unter Opera11 in JS kriegt man 13.</p>
</blockquote>
<p>Ja, 13 ist richtig, wie kommst du auf 14?</p>
<p>Ciao,<br>
Martin</p>
<div class="signature">-- <br>
Fische, die bellen, beißen nicht.<br>
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
</div>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491115#m1491115Jean-Maxspam2010@pakkt.de2011-01-23T22:08:03Z2011-01-23T22:08:03Zfrage der ordnung<p>Bounjoun bleicher,</p>
<blockquote>
<p>Grüße,<br>
so aus neugier -</p>
<pre><code class="block language-javascript"></code></pre>
</blockquote>
<blockquote>
<p>var i=5;<br>
i=++i + ++i;</p>
</blockquote>
<pre><code class="block">
>
> was ergibt i in unterschiedlichen situtationen? von der Idee her 14, aber unter Opera11 in JS kriegt man 13.
C:\>perl
~~~perl
$i = 5;
$i = ++$i + ++$i;
print $i;
^Z
14
</code></pre>
<p>javascript:var i=5;i=++i + ++i;alert(i);</p>
<p>Obiges zum Kopieren und Einfügen in die Adresszeile (samt Return) ergibt 13 in Safari, 13 in Firefox, 13 im IE 8.</p>
<p>Tja, Javascript ist TOLL!</p>
<p>Adiou.</p>
<div class="signature">-- <br>
Ich bin eigentlich ganz anders, aber ich komme so selten dazu. - Ödön von Horwáth<br>
Ist Rudi Carrell Gott? Oder George Harrison Ford?
</div>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491114#m1491114Robert B.2011-01-23T23:52:01Z2011-01-23T23:52:01Zfrage der ordnung<p>Moin,</p>
<blockquote>
<pre><code class="block language-javascript"></code></pre>
</blockquote>
<blockquote>
<p>var i=5;<br>
i=++i + ++i;</p>
</blockquote>
<pre><code class="block">
>
> was ergibt i in unterschiedlichen situtationen?
~~~java
public class add {
public static void main (String args[]) {
int i = 5;
i = ++i + ++i;
System.out.println("> " + i);
}
}
</code></pre>
<p>$ java add</p>
<blockquote>
<p>13</p>
</blockquote>
<pre><code class="block language-c"><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string"><stdio.h></span> </span>
<span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token keyword">void</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">int</span> i <span class="token operator">=</span> <span class="token number">5</span><span class="token punctuation">;</span>
i <span class="token operator">=</span> <span class="token operator">++</span>i <span class="token operator">+</span> <span class="token operator">++</span>i<span class="token punctuation">;</span>
<span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"> %i\n"</span><span class="token punctuation">,</span> i<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre>
<p>$ ./add</p>
<blockquote>
<p>14</p>
</blockquote>
<p>Viele Grüße,<br>
Robert</p>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491113#m1491113Struppistruebig@gmx.nethttp://javascript.jstruebig.de2011-01-24T00:06:47Z2011-01-24T00:06:47Zfrage der ordnung<blockquote>
<pre><code class="block language-javascript"></code></pre>
</blockquote>
<blockquote>
<p>var i=5;<br>
i=++i + ++i;</p>
</blockquote>
<pre><code class="block">
>
> was ergibt i in unterschiedlichen situtationen? von der Idee her 14, aber unter Opera11 in JS kriegt man 13.
> was kriegt man unter anderen browsern, programmiersprachen etc.?
Aus der [Diskussion](http://www.perlmonks.org/?node_id=369247):
Modifying the same variable using auto-increment/decrement more than once in the same statement gives undefined behaviour.
und:
The first sentence in perlop.pod regarding auto-increment and auto-decrement reads:
"++" and "--" work as in C.
was auch [Robert](https://forum.selfhtml.org/?t=202926&m=1371289) Code ergeben hat
Struppi.
</code></pre>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491112#m1491112Vinzenz Maivinzenzmai@web.de2011-01-24T00:52:48Z2011-01-24T00:52:48Zeine Frage der Sprachdefinition<p>Hallo,</p>
<blockquote>
<p>so aus neugier -</p>
<pre><code class="block language-javascript"></code></pre>
</blockquote>
<blockquote>
<p>var i=5;<br>
i=++i + ++i;</p>
</blockquote>
<pre><code class="block">
> was ergibt i in unterschiedlichen situtationen? von der Idee her 14,
wie kommst Du darauf?
> aber unter Opera11 in JS kriegt man 13.
in Javascript erwarte ich 13, zumindest lese ich das so aus [Spezifikation von ECMAScript](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf), siehe Martins Argumentation:
Wir haben eine einfach Zuweisung an eine Variable, somit wird das Ergebnis des Ausdrucks auf der rechten Seite zugewiesen. (11.13.1)
Schauen wir uns die rechte Seite an:
Wir haben eine Addition (11.6.1)
(1) Zuerst wird der Ausdruck des ersten Summanden bewertet,
(2) dann wird der Ausdruck des zweiten Summanden bewertet
(3) Da es sich um zwei Zahlen handelt, ergibt sich die Summe gemäß 11.6.3
(1) ist ein unärer Ausdruck (11.4) und wird gemäß 11.4.4 ausgewertet:
dabei wird in Teilschritt 6 der um 1 erhöhte Wert (oldValue ist 5) in die Variable zurückgeschrieben, d.h. der erste Summand wird zu 6 ausgewertet.
(2) ist ebenfalls ein unärer Ausdruck, oldValue ist 6, da (1) bereits ausgewertet wurde => der zweite Summand wird zu 7 ausgewertet.
(3) Die Summe von 6 und 7 ist 13.
=> von einer Javascript-Engine erwarte ich daher, dass 13 herauskommt.
> was kriegt man unter anderen browsern,
Ich erwarte und erhalte in allen von mir getesteten Browsern (Chrome, Firefox, IE, Opera, Safari) 13.
> programmiersprachen etc.?
In C: Undefiniertes Verhalten, siehe <http://c-faq.com/expr/seqpoints.html>.
Freundliche Grüße
Vinzenz
</code></pre>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491110#m1491110zaphod1984zaphod84@gmx.de2011-01-24T11:43:09Z2011-01-24T11:43:09Zfrage der ordnung<pre><code class="block language-javascript">
<span class="token keyword">public</span> <span class="token function">Form1</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
int i <span class="token operator">=</span> <span class="token number">5</span><span class="token punctuation">;</span>
i <span class="token operator">=</span> <span class="token operator">++</span>i <span class="token operator">+</span> <span class="token operator">++</span>i<span class="token punctuation">;</span>
MessageBox<span class="token punctuation">.</span><span class="token function">Show</span><span class="token punctuation">(</span>i<span class="token punctuation">.</span><span class="token function">ToString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre>
<div class="signature">-- <br>
for your security, this text has been encrypted by ROT13 twice.
</div>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491109#m1491109hottihttp://rolfrost.de2011-01-24T13:09:50Z2011-01-24T13:09:50Zfrage der ordnung<p>hi,</p>
<blockquote>
<pre><code class="block language-javascript"></code></pre>
</blockquote>
<blockquote>
<p>var i=5;<br>
i=++i + ++i;</p>
</blockquote>
<pre><code class="block">
>
> was ergibt i in unterschiedlichen situtationen? von der Idee her 14, aber unter Opera11 in JS kriegt man 13.
Hmm, in Perl krieg ich die 14:
~~~perl
use strict;
my $i = 5;
$i = ++$i + ++$i;
print $i;
</code></pre>
<p>wobei ich vermute, dass der Ausdruck von Perl wir folgt interpretiert wird:</p>
<ul>
<li>inkrementiere vor der Addition $i, wir bekommen 6 + 6</li>
<li>führe die Addition aus, wobei die Summanden vorher inkrementiert werden, so haben wir dann 7 + 7 und erhalten schließlich die 14.</li>
</ul>
<p>Hotti</p>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491111#m1491111Steel2011-01-24T12:46:55Z2011-01-24T12:46:55Zfrage der ordnung<p>Moin!</p>
<blockquote>
<p>--</p>
</blockquote>
<p>»»for your security, this text has been encrypted by ROT13 twice.</p>
<p>YMMD</p>
<div class="signature">-- <br>
Vergesst Chuck Norris.<br>
Sponge Bob kann unter Wasser grillen!
</div>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491120#m1491120Jean-Maxspam2010@pakkt.de2011-01-23T22:14:56Z2011-01-23T22:14:56Zfrage der ordnung<p>Bounjoun Jean-Max,</p>
<blockquote>
<p>C:>perl</p>
<pre><code class="block language-perl"></code></pre>
</blockquote>
<p>$i = 5;</p>
<blockquote>
<p>$i = ++$i + ++$i;<br>
print $i;<br>
^Z<br>
14</p>
</blockquote>
<pre><code class="block">
>
> javascript:var i=5;i=++i + ++i;alert(i);
C:\Users\Patrick Andrieu>perl
~~~perl
$i = 5;
$i = $i++ + $i++;
print $i;
^Z
11
</code></pre>
<p>javascript:var i=5;i=++i + ++i;alert(i);</p>
<p>11</p>
<p>Adiou.</p>
<div class="signature">-- <br>
Ich bin eigentlich ganz anders, aber ich komme so selten dazu. - Ödön von Horwáth<br>
Ist Rudi Carrell Gott? Oder George Harrison Ford?
</div>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491117#m1491117Kai345kai345@knrs.dehttp://knrs.de2011-01-23T23:13:59Z2011-01-23T23:13:59Zfrage der ordnung<p>[latex]Mae govannen![/latex]</p>
<blockquote>
<p>C:>perl</p>
<pre><code class="block language-perl"></code></pre>
</blockquote>
<p>$i = 5;</p>
<blockquote>
<p>$i = ++$i + ++$i;<br>
print $i;<br>
^Z<br>
14</p>
</blockquote>
<pre><code class="block">
Huch! Was rechnet Perl denn da?
1) i ist 5
2) Linker Term: ++i (also 5 + 1) => i ist jetzt 6
3) Rechter Term ++i (also 6 + 1)
4) Addition: 6 + 7 => 13
> javascript:var i=5;i=++i + ++i;alert(i);
>
> Obiges zum Kopieren und Einfügen in die Adresszeile (samt Return) ergibt 13 in Safari, 13 in Firefox, 13 im IE 8.
Genau das erwarte ich.
> Tja, Javascript ist TOLL!
Jo, JS kann im Gegensatz zu perl sogar rechnen ^^
Cü,
Kai
--
~~~ ken SENT ME ~~~
Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
in Richtung "Mess up the Web".([suit](https://forum.selfhtml.org/?t=197497&m=1324775))
[SelfHTML-Forum-Stylesheet](http://selfhtml.knrs.de/#h_stylesheet)
</code></pre>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491116#m1491116Beathttp://www.elcappuccino.ch/ehome-factory/webdesign-basel-laufen2011-01-24T13:39:16Z2011-01-24T13:39:16Zfrage der ordnung<blockquote>
<p>Obiges zum Kopieren und Einfügen in die Adresszeile (samt Return) ergibt 13 in Safari, 13 in Firefox, 13 im IE 8.<br>
Tja, Javascript ist TOLL!</p>
</blockquote>
<p>Die Regel, dass in JS nichts kompatibel ist, wurde durch diese Ausnahme hervorragend bestätigt.</p>
<p>mfg Beat</p>
<div class="signature">-- <br>
><o(((°> ><o(((°><br>
<°)))o>< ><o(((°>o<br>
Der Valigator leibt diese Fische
</div>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491119#m1491119Jean-Maxspam2010@pakkt.de2011-01-23T23:28:52Z2011-01-23T23:28:52Zfrage der ordnung<p>Bounjoun Kai345,</p>
<blockquote>
<p>[Perl] 14<br>
Huch! Was rechnet Perl denn da?<br>
[JS] 13<br>
Jo, JS kann im Gegensatz zu perl sogar rechnen ^^</p>
</blockquote>
<p>Vielleicht kann uns Struppi, der JavaScript mindestens genauso toll wie Perl findet, Auskunft geben ;)</p>
<p>Derweil bleibe ich bei der verflixten 7, die <a href="https://forum.selfhtml.org/?t=202918&m=1371286" rel="noopener noreferrer">der Martin so schön erklärt hat</a>...</p>
<p>Achja... vielleicht ist uns bleicher die Erklärung schuldig, wie er »von der Idee her« aufs perlige 14 kam?</p>
<p>Adiou.</p>
<div class="signature">-- <br>
Ich bin eigentlich ganz anders, aber ich komme so selten dazu. - Ödön von Horwáth<br>
Ist Rudi Carrell Gott? Oder George Harrison Ford?
</div>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491118#m1491118Struppistruebig@gmx.nethttp://javascript.jstruebig.de2011-01-24T00:04:05Z2011-01-24T00:04:05Zfrage der ordnung<blockquote>
<p>[latex]Mae govannen![/latex]</p>
<blockquote>
<p>C:>perl</p>
<pre><code class="block language-perl"></code></pre>
</blockquote>
</blockquote>
<p>$i = 5;</p>
<blockquote>
<blockquote>
<p>$i = ++$i + ++$i;<br>
print $i;<br>
^Z<br>
14</p>
</blockquote>
</blockquote>
<pre><code class="block">
>
> Huch! Was rechnet Perl denn da?
>
> 1) i ist 5
> 2) Linker Term: ++i (also 5 + 1) => i ist jetzt 6
> 3) Rechter Term ++i (also 6 + 1)
> 4) Addition: 6 + 7 => 13
Offensichtlich führt Perl erst die Inkrement Operation durch, bevor es addiert, was nach der Operator Reihenfolge logisch ist.
Aber hier eine etwas ausführlichere Diskussion
<http://www.perlmonks.org/?node_id=369247>
> > javascript:var i=5;i=++i + ++i;alert(i);
> >
> > Obiges zum Kopieren und Einfügen in die Adresszeile (samt Return) ergibt 13 in Safari, 13 in Firefox, 13 im IE 8.
>
> Genau das erwarte ich.
es gibt offensichtlich kein erwarten in dieser Situation, zumindest entnehme ich das der obigen Diskussion.
>
> > Tja, Javascript ist TOLL!
>
> Jo, JS kann im Gegensatz zu perl sogar rechnen ^^
Naja, um's rechnen geht's hier weniger, sondern wann welcher Operator ausgeführt wird.
Struppi.
</code></pre>
https://forum.selfhtml.org/self/2011/jan/23/frage-der-ordnung/1491121#m1491121Jean-Maxspam2010@pakkt.de2011-01-23T22:19:57Z2011-01-23T22:19:57Zfrage der ordnung<p>Aargh!</p>
<blockquote>
<p>javascript:var i=5;i=++i + ++i;alert(i);</p>
<p>11</p>
</blockquote>
<p>javascript:var i=5;i=i++ + i++;alert(i);</p>
<p>11</p>
<p>Ich sollte kopieren, was ich ausprobiere, und nicht probieren, ob ich richtig kopiere...</p>
<p>Adiou.</p>
<div class="signature">-- <br>
Ich bin eigentlich ganz anders, aber ich komme so selten dazu. - Ödön von Horwáth<br>
Ist Rudi Carrell Gott? Oder George Harrison Ford?
</div>