let oder nicht let

typ
Windoof-User
Windoof-User
Beiträge: 32
Registriert: 5. Nov 2016 19:06

let oder nicht let

Beitrag von typ » 18. Feb 2017 16:51

in der musterlösung der übung 5 wird folgendes im ersten schritt gemacht:

Code: Alles auswählen

rule firstStage;
	let t = in.first(); in.deq();
	Vector#(3, Vector#(3,GrayScale)) c = unpack(pack(t));
	//...
endrule
c und t haben den gleichen scope. wann benutzt man also let und wann wird der typ ausgeschrieben?

Fabian Czappa
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 10. Mai 2015 11:45

Re: let oder nicht let

Beitrag von Fabian Czappa » 18. Feb 2017 17:01

Hay,

das wurde schon mal im Forum besprochen, ich finde aber auf die Schnelle den Beitrag dazu nicht.
let geht prinzipiell immer, wenn der Compiler selbstständig herausfinden kann, welcher Typ dorthin gehört (merke: nur innerhalb von Regeln, Funktionen und Methoden). Ähnlich wie var in C# oder auto in C++. Bei einfachen Typen geht das ohne Probleme, aber nur, weil du auf dem Papier die Möglichkeit hast, bei komplexen Typen eindeutig zu bestimmen, welcher dorthin gehört, heißt das nicht, das der Compiler das auch kann.

Viele Grüße
Fabian

Antworten

Zurück zu „Archiv“