User Tools

Site Tools


k8:k8.6:start

8.6 Special operators

8.6.1 Part 1

The selection of the special operators in this chapter was made according to purely subjective criteria. This is because, for example, the operations increment and decrement in gambas are counted as arithmetic functions that change the value of a variable to the nearest one. You already got to know this view in chapter 8.2 of the arithmetic operators MOD and DIV. So you could consider the functions INC and DEC as unary operators:

OperatorDescription
INC numVariableThe value of the numeric variable is increased by 1. Analogous would be the calculation numVariable = numVariable +1 or numVariable += 1
DEC numVariableThe value of the numeric variable is decreased by 1. Analogous would be the calculation numVariable = numVariable -1 or numVariable -= 1
Expression IS ClassReturns TRUE if an object is an instance of a class or its descendants. Expression is any expression that returns an object reference and Class is a class name.
Expression NOT IS ClassReturns TRUE if an object is not an instance of a class or its descendants.

Table 8.6.1: Special operators

Examples:

PRINT ["Gambas", "rules!"] IS String[] 
True 

DIM myTextBox AS NEW TextBox(ME) 
PRINT myTextBox IS Control 
True 

PRINT ["Gambas", "rules!"] IS Collection 
False 

PRINT ["Gambas", "rules!"] NOT IS Collection 
True 

8.6.2 Part 2 - !-operator

The !-operator is a special operator for certain container objects that allow access to their elements using a string. Examples of such classes are Collection and Result, but also graphical controls like ListView.

The key string is written after the! operator, so that 'hCollection!FirstName' is equivalent to 'hCollection[“FirstName”]'. The return value is the value of the element with the key “FirstName”.

sCurrent.FirstName = hResult!FirstName
sCurrent.FirstName = hResult["FirstName"] ' Alternative

Download

8.6 Spezielle Operatoren

8.6.1 Teil 1

Die Wahl der speziellen Operatoren in diesem Kapitel erfolgte nach rein subjektiven Kriterien. Das liegt darin begründet, dass zum Beispiel die Operationen Inkrement und Dekrement in Gambas zu den arithmetischen Funktionen gezählt werden, die den Wert einer Variablen auf den Nächstliegenden ändern. Diese Sichtweise hatten Sie schon im Kapitel 8.2 bei den arithmetischen Operatoren MOD und DIV kennengelernt. Man könnte also die Funktionen INC und DEC als unäre Operatoren auffassen:

OperatorBeschreibung
INC numVariableDer Wert der numerischen Variablen wird um 1 erhöht. Analog wäre die Berechnung numVariable = numVariable +1 oder numVariable += 1
DEC numVariableDer Wert der numerischen Variablen wird um 1 verringert. Analog wäre die Berechnung numVariable = numVariable -1 oder numVariable –= 1
Expression IS ClassLiefert TRUE, wenn ein Objekt eine Instanz einer Klasse oder einer seiner Nachkommen ist. Expression ist ein beliebiger Ausdruck, der eine Objektreferenz zurück gibt und Class ist ein Klassen-Name.
Expression NOT IS ClassLiefert TRUE, wenn ein Objekt keine Instanz einer Klasse oder einer seiner Nachkommen ist.

Tabelle 8.6.1: Spezielle Operatoren

Beispiele:

PRINT ["Gambas", "rules!"] IS String[] 
True 

DIM myTextBox AS NEW TextBox(ME) 
PRINT myTextBox IS Control 
True 

PRINT ["Gambas", "rules!"] IS Collection 
False 

PRINT ["Gambas", "rules!"] NOT IS Collection 
True 

8.6.2 Teil 2 - !-Operator

Der !-Operator ist ein spezieller Operator für bestimmte Container-Objekte, die Zugriff auf ihre Elemente anhand eines Strings erlauben. Beispiele für solche Klassen sind Collection und Result, aber auch graphische Steuerelemente wie ListView.

Dabei wird der Schlüsselstring nach dem !-Operator notiert, sodass hCollection!FirstName gleichbedeutend ist mit hCollection[“FirstName”]. Der Rückgabewert ist der Wert des Elements mit dem Schlüssel “FirstName”.

sCurrent.FirstName = hResult!FirstName
sCurrent.FirstName = hResult["FirstName"] ' Alternative

Download

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k8/k8.6/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools