Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 15. Mai 2023, 07:10
...und erübrigt manchmal sogar das Hinzufügen einer Unit in der Uses-Clause um lediglich Zugriff auf die Typdeklaration zu bekommen.
Das ist ja cool. Wie löst der Compiler das dann ???
Durch Type Inference. Er ermittelt bei einer solchen Deklaration zunächst den Typ des Rückgabewerts und übernimmt den dann für die Variable. Die Unit dazu braucht er dann nicht selbst in der uses, da er den Typ ja bereits kennt und nicht ermitteln muss.

Genau das kann aber auch nicht sofort zu findende Kompilierfehler auslösen, weshalb ich kein Freund davon bin. Wenn man z.B. eine fremde Unit eingebunden hat (aber natürlich auch bei eigenen) und dann ein Update einspielt, kann es sein, dass sich der Typ des Rückgabewerts dort ändert. Nun übernimmt der Compiler klaglos den neuen Typ. Erst bei der späteren Verwendung der Variablen gibt es dann ggf. einen Fehler. Wenn man nun nicht genau im Kopf hat, welcher Rückgabetyp da vorher kam, wundert man sich erst einmal. Wenn man aber den Typ explizit angegeben hat, sieht man direkt, dass das nun ein anderer Typ ist.

Ja, in Schleifen sind Inline Variablen durchaus praktisch und haben auch den Vorteil des eingeschränkten Scopes.

Wer aber Inline Variablen nutzt, um nicht zur Deklaration scrollen zu müssen, hat einfach zu lange Methoden...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat