Variablen


Variablen braucht man in jeder Programmiersprache, man kann Werte aus ihnen auslesen oder sogar Werte in ihnen speichern. Das kann sehr nützlich sein. In LUA sind Variablen gleich doppelt einfach zu benutzen, denn man muss ihren Typ nicht mitangeben. Soll heißen, mann muss nicht festlegen, welche Wertemenge sie einschliessen. Zudem kann man in LUA normale Variablen kinderleicht in Zeichenketten, auch "Strings" genannt, umwandeln. Beginnen wir doch gleich einmal mit einem String:

	farbe = Color.new(255,255,255
	text1 = "Hallo"
	text2 = "Welt"
	
	while true do
		screen:print(1,1,text1.." "..text2, farbe)
		screen.flip()
		screen.waitVblankStart()
	end

Dieser Code gibt ebenfalls "Hallo Welt" auf dem PSP Bildschrim aus (wer hätte das gedacht ?!^^). Allerdings sind die auszugebenden Zeichketten nun in Variablen gespeichert. Die werden nun ausgelesen. text1 und text2 sind die Variablen. Sie beinhalten jeweils eine Zeichenkette bzw String. Strings müssen immer in Anführungszeichen stehen, damit der LUAPlayer weiss, es handelt sich dabei um eine Zeichenkette. Ohne Anführungszeichen würde der LUAPlayer meinen, dass z.B. die Variable text1 gleich der Variable Hallo ist. Er wird aber eine Fehlermeldung ausgeben, weil die Variable Hallo gar nicht vorhanden oder gar nicht definiert ist. Hier haben wir gleich mehrere Fliegen mit einer Klappe geschlagen: Du hast du gelernt,wie man Stringvariablen definiert, und wenn du dir mal screen:print anschaust, auch gleich, wie man 2 Strings innerhalb eines Befehls verbindet. Jetzt wollen wir aber "Hallo Welt" einmal hinter uns lassen und noch eine Sorte anderer Variablen anschauen:

	farbe = Color.new(255,255,255)
	a = 5
	b= 3
	c=a*b
	
	while true do
		screen:print(1,1,a*b+c, farbe)
		screen.flip()
		screen.waitVblankStart()
	end

a,b und c sind jetzt einmal "normale" Variablen. Sie beinhalten einen richtigen Wert. a beinhaltet 5, b beinhaltet 3 und c beinhaltet a*b, also 5 mal 3. Im screen:print() Befehl haben wir dann einen kleinen Term, nämlich a*b+c, was das Gleiche ist wie a*b+a*b. Dort sollte am Ende dann 30 stehen.