Wenn Sie verschiedene Sprachen berühren, werden die detaillierten Spezifikationen der Sprache nach und nach durcheinander gebracht. Dies ist also ein Memo.
Vorhandensein oder Nichtvorhandensein eines inkrementellen Dekrements
Ja: Java, C-Sprache, C ++, Go-Sprache PH, PHP, Perl, JavaScript Keine: Scala, Rust, Python, Ruby
Die Go-Sprache vermeidet das Problem der Inkrementierung von Operatoren, indem sie als Anweisungen und nicht als Operatoren behandelt werden, aus denen Ausdrücke bestehen, und ich persönlich bin der Meinung, dass die Spezifikationen genau richtig sind.
Ich habe auch den Zuweisungsoperator überprüft, aber er scheint in den meisten Sprachen zu sein.
Scala
i += 1
i -= 1
"i + = 1" usw. ist ein Syntaxzucker wie "i = i + 1".
Referenz
Assignment Operators - Expressions | Scala 2.13
Warum kann ich in Scala nicht erhöhen oder verringern?
Java
++i;
--i;
i++;
i--;
i += 1;
i -= 1;
Referenz
Prefix Increment Operator ++ - Java Language Specification
Rust
i += 1;
i -= 1;
Referenz
Compound assignment expressions - Operator expressions - The Rust Reference
Warum gibt es keinen Inkrementoperator? Why doesn't Rust have increment and decrement operators?
++i;
--i;
i++;
i--;
i += 1;
i -= 1;
i++
i--
i += 1
i -= 1
Referenz
IncDec statements - The Go Programming Language Specification
Der Fall, in dem "++" und "-" keine Operatoren sind Operatoren und Anweisungen - Programmiersprache Go | text.Baldanders.info
PHP
++$i;
--$i;
$i++;
$i--;
$i += 1;
$i -= 1;
Referenz
Addierer / Subtrahierer | PHP-Handbuch
Perl
++$i;
--$i;
$i++;
$i--;
$i += 1;
$i -= 1;
Referenz
Inkrementieren und Dekrementieren --perlop --Perloperatoren und Priorität --perldoc.jp
Python
i += 1
i -= 1
Es scheint eine kumulative Zuweisungsanweisung zu sein.
Referenz
Erweiterte Zuweisungsanweisung - einfache Anweisung - Python 3.8.0-Dokumentation
Ruby
i += 1
i -= 1
Es scheint Selbstzuweisung zu sein.
Referenz
Warum es in Ruby-fugafuga.write keinen Inkrement-Operator gibt
Vergleich der Geschwindigkeit des Ruby-Inkrements nach Version - Qiita
JavaScript
++i;
--i;
i++;
i--;
i += 1;
i -= 1;
Referenz
Update Expressions - ECMAScript® 2019 Language Specification
Recommended Posts