# Programming Gambas from Zip/Operators
## Operators
### Arithmetic

http://Gambaswiki.org/wiki/lang/arithop by example:
| - 6 x = - x | Unary minus Changes number to a negative | 5 / 2 = 2.5 | Divide |
| 3 + 2 = 5 | Add | 3 ^ 2 = 9 | Power of |
| 7 – 4 = 3 | Subtract | 13 \ 2 = 6 13 DIV 2 = 6 | Integer division |
| 5 * 2 = 10 | Multiply | 12 % 7 = 5 12 MOD 7 = 5 | Remainder after dividing |

### Boolean

| Two things combined, or one thing operated on | Overall Value | Examples |
| SomethingTrue AND SomethingTrue | True | (1=1) AND (2=2) is TRUE (1<2) AND (5>4) is TRUE Both have to be true to make the whole thing true. |
| SomethingTrue AND SomethingFalse | False | (1=1) AND (2=3) is FALSE (6>5) AND (4<3) is FALSE |
| SomethingFalse AND SomethingTrue | False | (5=6) AND (4=4) is FALSE |
| SomethingFalse AND SomethingFalse | False | (5=6) AND (2=3) is FALSE |
| NOT SomethingTrue | False | NOT (8=8) is FALSE NOT (1 > -1) is FALSE “Not” means “the opposite of” |
| NOT SomethingFalse | True | NOT (1=2) is TRUE NOT ("apple" > "banana") is TRUE i.e., the reverse of (a comes after b) |
| SomethingTrue OR SomethingTrue | True | (1=1) OR (2=2) is TRUE Either one being true will make the whole thing true. |
| SomethingTrue OR SomethingFalse | True | (1=1) OR (2=3) is TRUE |
| SomethingFalse OR SomethingTrue | True | (7=3) OR (3=3) is TRUE |
| SomethingFalse OR SomethingFalse | False | (1=1) OR (2=3) is FALSE |
| SomethingTrue XOR SomethingTrue | False | (1=1) XOR (4=4) is FALSE |
| SomethingTrue XOR SomethingFalse | True | (1=1) XOR (4=5) is TRUE |
| SomethingFalse XOR SomethingTrue | True | (1=5) XOR (4=4) is TRUE |
| SomethingFalse XOR SomethingFalse | False | (1=2) XOR (4=5) is FALSE |
AND = both
OR = either
XOR = either, but not both (“exclusive OR”)

### String Operators

Joining (Concatenation) :
| String & String | Concatenates two strings. |
| String &/ String | Concatenate two strings that contain file names. Add a path separator between the two strings if necessary. An example of a path is /home/gerard/Documents/Gambas/ How to get it: User.Home &/ "Documents" &/ "Gambas/" |
| Comparison ||
| String = String | Returns if two strings are equal. |
| String == String | Case-insensitive comparison Returns if two strings are equal, regardless of upper or lower case |
| String LIKE String | Checks if a string matches a pattern. Is the first string like the second? There are special codes for the pattern string. Refer to the wiki for more codes, http://Gambaswiki.org/wiki/lang/like * means any character or string of characters "Gambas" Like "G*" means “Does Gambas begin with a G?” ? means any single character; [ ] means either/or the things in brackets: "Gambas" Like "?[Aa]*" means “Does Gambas have a capital or small A as its second letter?” "Gambas" Like "G[^Aa]*" means “Does Gambas not have a capital or small A as its second letter?” Dim Fruit As String = "pear" Label1.text = Fruit Like "{apple,pear,lemon}" shows True, but Label1.text = Fruit Like "{apple, pear, lemon}" shows False because spaces matter. |
| String MATCH String | Checks if a string matches a PCRE regular expression. Refer to http://Gambaswiki.org/wiki/doc/pcre PCRE means Perl Compatible Regular Expressions Regular expressions are the ultimate in finding things in strings. |
| String BEGINS String | Checks if a string begins a certain way "Gerard" Begins "G" means “Does Gerard begin with a G?” |
| String ENDS String | Checks if a string ends a certain way "Benôit" Ends "t" means “Does Benôit end with a t?” |
| String <> String | Does not equal, or “is not the same as” |
| String1 < String2 | Does string1 come alphabetically before string2? |
| String1 > String2 | Does string1 come alphabetically after string2? |
| String1 <= String2 | Does string1 come alphabetically before, or is it the same as, string2? |
| String1 >= String2 | Does string1 come alphabetically after, or is it the same as, string2? |