2016-07-21 16 views
3

Warum nicht können wir schreibenWarum akzeptieren die meisten Programmiersprachen keine Kommas?

int n=1,000; 

?

Warum sind die Programmiersprachen nicht darauf ausgelegt, Kommas zuzulassen? Werden wir Probleme bekommen, wenn es Kommas erlaubt?

+1

In Swith können Sie '_', z. 'let n = 1_000' –

+0

Ich denke, die meisten Sprachen, die ich verwendete, unterstützen' _' in Integer-Literalen. Ich denke, Kommas werden verwendet, um Parameter in Methoden-/Funktionsaufrufen zu trennen. Die Verwendung von Kommas in Zahlen kann daher für den Compiler und den Code mit nur einem Code Verwirrung stiften. – Sweeper

+0

weil es ein reserviertes Zeichen für Syntax ist – kurakura88

Antwort

6

Da , oft ein Operator ist oder eine besondere Bedeutung in den meisten Sprachen hat.

Es wäre daher schwierig oder unmöglich herauszufinden, ob setColor(4,242,242) ein Aufruf mit drei Argumenten (4, 242 und 242) oder ein einzelnes Argument (4242242) war.

Einige Sprachen, wie Swift, akzeptieren Zahlen mit _, um das Lesen zu erleichtern. Zum Beispiel ist das gleiche wie 1000.

Für weitere Informationen zum Parsing empfehle ich Ihnen, lesen Sie the Wikipedia article Lexical analysis.

+0

Guter Punkt auf den Argumenten !!! – Gqqnbig

0

In vielen Sprachen werden Kommas als eine Art Sprachkonstrukt behandelt. Zum Beispiel in Arrays:

var array = [0,1,2,3,4]; 

oder in einigen Fällen Inline-String-Verkettung:

var string1 = "yay"; 
var string2 = "me"; 
var output = string1, string2; 

Verschiedene Sprachen haben unterschiedliche Implementierungen. Sie können immer reguläre Ausdrücke verwenden, um Benutzereingaben mit Kommas zu "korrigieren".

Wenn Sie unbedingt Kommas in Ihren Variablen verwenden müssen, werden Sie wahrscheinlich Strings verwenden müssen. Diese kann dann entweder mit regulären Ausdrücken oder mit dem ParseAsInt() Ihrer Sprache in Zahlen konvertiert werden. oder parseAsFloat(); gleichwertig.