Struppi: frage der ordnung

Beitrag lesen

[latex]Mae  govannen![/latex]

C:>perl

$i = 5;

$i = ++$i + ++$i;
print $i;
^Z
14


>   
> 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.