Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Warum ist 'String' ein reserviertes Wort? (https://www.delphipraxis.net/68228-warum-ist-string-ein-reserviertes-wort.html)

fwsp 26. Apr 2006 18:04


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?

Dax 26. Apr 2006 18:07

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:

MrKnogge 26. Apr 2006 18:26

Re: Warum ist 'String' ein reserviertes Wort?
 
Zitat:

Zitat von Dax
Ersteres wird scheitern, zweiteres nicht ;)

Was ist mit 'string[254]' ?

Dax 26. Apr 2006 18:28

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*

Luckie 26. Apr 2006 22:53

Re: Warum ist 'String' ein reserviertes Wort?
 
Zitat:

Zitat von Dax
Versuch mal nen String enger zu fassen als "Zeichenkette".

String = n*Char
Somit wäre Char der kleinste Zeichentyp, denn ein String ist auch nur eine Aneinaderreihung von einzelnen Zeichen.

alzaimar 27. Apr 2006 06:51

Re: Warum ist 'String' ein reserviertes Wort?
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Dax
Versuch mal nen String enger zu fassen als "Zeichenkette".

String = n*Char
Somit wäre Char der kleinste Zeichentyp, denn ein String ist auch nur eine Aneinaderreihung von einzelnen Zeichen.

Äh... und was ist mit dem Längenbyte? Oder der impliziten Übereinkunft, daß das #0-Zeichen den String begrenzt. Ein String ist nunmal mehr als eine Aneinanderreihung von Zeichen, so wie ein (DP-)Team mehr ist als die Summe der einzelnen Mitglieder... :mrgreen:

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.

Robert Marquardt 27. Apr 2006 07:15

Re: Warum ist 'String' ein reserviertes Wort?
 
string ist ein reserviertes Wort im originalen Pascal.

alzaimar 27. Apr 2006 07:29

Re: Warum ist 'String' ein reserviertes Wort?
 
Integer nicht?

marabu 27. Apr 2006 07:58

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

sakura 27. Apr 2006 08:58

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 00:56 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz