![]() |
Warum ist 'String' ein reserviertes Wort?
Hallo
der Titel sagt es eigentlich schon: Warum ist 'String' als Typenbezeichner ein reserviertes Wort (warum wird es hervorgehoben) und 'Integer' beispielsweise nicht? |
Re: Warum ist 'String' ein reserviertes Wort?
Ich schätze, weil du Strings nicht wirklich enger begrenzen kannst, sodass string wirklich ein elementares Sprachelement darstellt. Integer, Word, Byte, Int64 und Co sind begrenzbar(er). Versuch mal nen String enger zu fassen als "Zeichenkette". Und dann versuch mal, nen Integer enger zu fassen als "von -2^31 bis 2^31-1". Ersteres wird scheitern, zweiteres nicht ;)
Falls das kompletter Schwachsinn sein sollte: einfach mal die Bohrinseler fragen :zwinker: |
Re: Warum ist 'String' ein reserviertes Wort?
Zitat:
|
Re: Warum ist 'String' ein reserviertes Wort?
Das ist lediglich eine Längenbegrenzung und ist damit nichts anderes als ein Char-Array dieser Größe *mein*
|
Re: Warum ist 'String' ein reserviertes Wort?
Zitat:
Somit wäre Char der kleinste Zeichentyp, denn ein String ist auch nur eine Aneinaderreihung von einzelnen Zeichen. |
Re: Warum ist 'String' ein reserviertes Wort?
Zitat:
Um dann noch ein weiteres Argument einzustreuen: String ist ein Sprachbestandteil von Delphi, also ist String ein reserviertes Schlüsselwort. Ich hab ich auch immer geärgert, wieso Integer, Byte etc. nicht fett gedruckt werden, aber so ist das nun mal: Das sind einfach nur irgend welche Datentypen, wie sie Jeder anlegen kann. Dagegen spricht nun aber, das es dann bestimmte Basistypen geben müsste, die auch Sprachbestandteil von Delphi/Pascal sind. Wie man aus dieser argumentativen Zwickmühle rauskommt, überlasse ich aber Leuten, die das drauf haben: maaaarrraaaaabuuuuuu. |
Re: Warum ist 'String' ein reserviertes Wort?
string ist ein reserviertes Wort im originalen Pascal.
|
Re: Warum ist 'String' ein reserviertes Wort?
Integer nicht?
|
Re: Warum ist 'String' ein reserviertes Wort?
Guten Morgen.
STRING war im Original-Pascal kein reserviertes Wort, eher ein Konzept, welches sich noch voll und ganz auf dem array of char abstützte. Erst Borland und später auch andere (Jensen&Partners, Stony Brook, ...) haben durch die feste Verdrahtung des strukturierten Typen STRING im Compiler-Kern die Bedeutung gegeben, die wir heute noch als short string kennen - Compiler Magic gab es auch schon in TP1. Die Redefinition von Integer ist völlig problemlos, aber der Typ String mit seiner Verankerung in den Kernroutinen erschien Borland wohl so schützenswert, dass sie STRING zum reservierten Wort erklärt haben. Grüße vom marabu |
Re: Warum ist 'String' ein reserviertes Wort?
So, für die Antwort legt John Kaster zwar nicht seine Hand ins Feuer, aber er glaubt, dass es damals folgender Grund war: string benötigt Compiler-Magic.
String als reserviertes Wort zu setzen war eine Borland-Entscheidung vor nunmher fast 20 Jahren, daher ist er sich auch nicht mehr 100%ig sicher, aber er glaubt, dass das der Grund war. :zwinker: ...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz