Version: v0.5.0 - Beta.  We welcome contributors & feedback.  THanks!

Math & Logic

Math Operators 

You can modify numbers by using the math operators + - * /.

Expressions can be grouped together with parentheses ( ).

let numPosts = 5;
let numUpvotes = 7;
let numKarma = (numPosts * 2) + numUpvotes;

print('You have ' ~ numKarma ~ ' karma points!');
//= 'You have 17 karma points!'

Combined Operators

Operators can be combined with assignment =, as a convenient shortcut.

let numKarma = 5;

// Add 2 karma (the long way)
numKarma = numKarma + 2;  //= 7

// The short way
numKarma += 2;

// More examples
a += 2;  // a = a + 2;
a -= 2;  // a = a - 2;
a *= 2;  // a = a * 2;
a /= 2;  // a = a / 2;

// Same with strings
message = 'Karma: ';
message ~= numKarma;
//= 'Karma: 7'

NoteTHT does not have auto-increment or decrement operators ++ and --, as they often encourage overly dense code that rely on invisible behavior. You can use += 1 and -= 1 in their place.

Comparison Operators 

Comparison operators compare two values, and return true or false.

let a = 1;

a == 1;  //= true  (equal)
a != 5;  //= true  (not equal)
a == 2;  //= false
a != 1;  //= false

a > -1;  //= true  (greater than)
a >= 1;  //= true  (equal or greater than)
a < 5;   //= true  (less than)
a <= 0;  //= false (equal or less than)

let color = 'red';
color == 'red';   //= true
color == 'red ';  //= false (extra space)
color != 'blue';  //= true

TipTry not to confuse = (assign) with == (compare). THT will try to prevent this common mistake, but be careful.

Conditional Statements 

if Statement

The if statement executes a block of code if the condition is true. A block of code is surrounded by curly braces { }.

if (condition) {
    // code to run if condition is true
}

// Example
if (numCats > 100) {
    print('It`s a cat-astrophe!');
}

if / else Statement

The else statement executes a block of code if the condition is false.

if (condition) {
    // code to run if condition is true
} else {
    // code to run if condition is false
}
// Example
if (numGold >= priceOfHat) {
    print('You can buy the hat! :)');
} else {
    let needNumGold = priceOfHat - numGold;
    print('You need ' ~ needNumGold ~ ' more gold.');
}

else if Statement

The else and if statements can be chained together.

if (condition1) {
    // code to run if condition1 is true
} else if (condition2) {
    // code to run if condition1 is false & condition2 is true
} else if (condition3) {
    // multiple "else ifs" are supported
} else {
    // code to run if all conditions are false
}
// Example
if (score > highScore) {
    print('You set a new high score! :)');
} else if (score == 0) {
    print('Worst score ever. :(');
} else {
    print('Try again. :|');
}

Logical Operators 

Logical operators let you join comparison operators in two ways: && (and) and || (or).

// AND - Both conditions must be true
if (ageYears < 13 && movieType == 'horror') {
    print('You should probably watch something else.');
}

// OR - Either condition must be true
if (heightCm < 120 || isAfraidOfHeights) {
    print('Do not enter this ride!');
}