Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - Zuweisung

Referenz-Navigation

 

Syntax A: Variable = Wert
Syntax B: Variable => Wert
Typ: Operator
Kategorie: Operatoren

Die Zuweisung von Werten wird in FreeBASIC üblicherweise mit '=' bewerkstelligt, es kann allerdings auch '=>' verwendet werden.

Beispiel 1:

Dim As Integer foo1 = 5
Dim As Integer foo2 => 7

Dim As Integer bar1(0 To ...) = {0, 1, 2, 3}
Dim As Integer bar2(0 To ...) => {4, 5, 6, 7}

In den meisten Fällen sind beide Zuweisungsoperatoren gleichbedeutend. Da '=' allerdings auch als Vergleichsoperator verwendet wird, gilt '=>' als expliziter Zuweisungsoperator.
Dies ist vor allem bei BefehlsreferenzeintragFunktionen mit einer Rückgabe 'by reference' wichtig, da die Zuweisung an eine solche Funktion durch den Compiler auch als Vergleich interpretiert werden könnte.

Beispiel 2:

Function f(ByRef s As String) ByRef As String
  Return s
End Function

Dim As String s = "foo"
Print f(s)

' f(s) = "bar"        ' <--- Achtung, Fehler!
Print f(s)

f(s) => "foobar"
Print f(s)

Sleep

Die auskommentierte Stelle wird in diesem Fall als 'f((s) = "bar")' interpretiert. Dabei handelt es sich also um einen Vergleich, der die Variable 's' und den String "bar" miteinander vergleicht und einen numerischen Wahrheitswert zurückliefert, der an die Funktion 'f()' übergeben wird. Da die Funktion allerdings einen String als Übergabeparameter erwartet, führt der Aufruf zwangsläufig zu einem Fehler.
Für diesen speziellen Fall muss '=>' verwendet werden, um dem Compiler zu signalisieren, dass eine explizite Zuweisung erwünscht ist.


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 29.06.2013 von RedakteurMOD angelegt.
  • Die aktuellste Version wurde am 02.07.2013 von Redakteurnemored gespeichert.
  Versionen Versionen