Gambas/Assignments

< Gambas

Equal or not equal

In gambas the = sign is used differently than it is in mathematics. It is used to assign a value to a variable.

When the equal sign shows up in the code, you should always think of it as:

Then you will not run into illogical conclusions.

The following code is correct in Gambas. Try it out . What is the result?

a = 5
a = a * 4

Translated to natural language this says:

Assign 5 to the variable a 
Multiply 4 with the old variable a and assign it to the new variable a.

Maybe the first person who started assignment in computers came from Arabia. Perhaps this is why we have to read the line from the right to left.

By the way: the result is 20.

How does this work in a little program: You need one command button to get the program going. The result is shown in the terminal window.

PUBLIC SUB Button1_Click()
DIM a AS Integer
a = 5
a = a * 4
PRINT "a = ";a
END

A math teacher would not like these equations, but in gambas (or in basic in general) it is correct. Of course, you could make things clearer by using two different variables.

PUBLIC SUB Button1_Click()
DIM a AS Integer
DIM b AS integer 
a = 5
b = a * 4
PRINT b
END

The line

 DIM a AS Integer

is not an assignment. It is a declaration of a variable as a datatype. In this case a is of the datatype integer.

As you can see in the second example, the word DIM can be skipped without an error warning.

Theory of the assignment

The following code shows you in general the method of assignment:

Variable = Expression 

Assigns the value of an expression to one of the following elements. :

Example

iVal = 1972
Name = "Gambas"
hObject.Property = iVal
cCollection[sKey] = Name

See Also

This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.