The Else token is used within If statements to provide a default code block that executes when all previous If and Elif conditions evaluate to False. The Else clause does not have its own condition - it automatically executes when no other conditions in the statement have been met. An Else clause is optional and can only appear once at the end of an If statement.
The short syntax structure uses the word ELSE:
IF CONDITION
STATEMENTS
ELSE
STATEMENTS
END IFThe long syntax structure uses the word ELSE:
IF CONDITION
STATEMENTS
ELSE
STATEMENTS
END IFElse provides a fallback when the If condition is False.
NEW INT age = 16
IF age >= 18
PRINTLN "You can vote"
ELSE
PRINTLN "You cannot vote yet"
END IF
// Displays "You cannot vote yet"NEW BOOL isLoggedIn = FALSE
IF isLoggedIn == TRUE
PRINTLN "Welcome back"
ELSE
PRINTLN "Please log in"
END IF
// Displays "Please log in"NEW STR password = "wrong123"
IF password == "correct123"
PRINTLN "Access granted"
ELSE
PRINTLN "Access denied"
END IF
// Displays "Access denied"NEW FLOAT balance = 25.50
IF balance >= 100.0
PRINTLN "High balance"
ELSE
PRINTLN "Low balance"
END IF
// Displays "Low balance"Else a acts catch-all for any values not handled by previous conditions.
NEW STR status = "unknown"
IF status == "active"
PRINTLN "System is active"
ELSE
PRINTLN "System is not active"
END IF
// Displays "System is not active"NEW INT value = 150
IF ( value >= 0 ) && ( value <= 100 )
PRINTLN "Value is in range"
ELSE
PRINTLN "Value is out of range"
END IF
// Displays "Value is out of range"NEW INT choice = 99
IF ( choice >= 1 ) && ( choice <= 5 )
PRINTLN "Valid menu choice"
ELSE
PRINTLN "Invalid choice - please select 1-5"
END IF
// Displays "Invalid choice - please select 1-5"NEW INT errorCode = 0
IF errorCode == 0
PRINTLN "Success"
ELSE
PRINTLN "Error occurred: " .. errorCode
END IF
// Displays "Success"Else provides a default case after all If and Elif conditions have been checked.
NEW INT score = 55
IF score >= 90
PRINTLN "Grade: A"
ELIF score >= 80
PRINTLN "Grade: B"
ELIF score >= 70
PRINTLN "Grade: C"
ELIF score >= 60
PRINTLN "Grade: D"
ELSE
PRINTLN "Grade: F"
END IF
// Displays "Grade: F"NEW INT day = 9
IF day == 1
PRINTLN "Monday"
ELIF day == 2
PRINTLN "Tuesday"
ELIF day == 3
PRINTLN "Wednesday"
ELIF day == 4
PRINTLN "Thursday"
ELIF day == 5
PRINTLN "Friday"
ELIF day == 6
PRINTLN "Saturday"
ELIF day == 7
PRINTLN "Sunday"
ELSE
PRINTLN "Invalid day number"
END IF
// Displays "Invalid day number"NEW STR orderStatus = "cancelled"
IF orderStatus == "pending"
PRINTLN "Order is being processed"
ELIF orderStatus == "shipped"
PRINTLN "Order is on the way"
ELIF orderStatus == "delivered"
PRINTLN "Order has been delivered"
ELSE
PRINTLN "Order status: " .. orderStatus
END IF
// Displays "Order status: cancelled"NEW FLOAT temp = 5.0
IF temp >= 90.0
PRINTLN "Very hot"
ELIF temp >= 75.0
PRINTLN "Warm"
ELIF temp >= 60.0
PRINTLN "Mild"
ELIF temp >= 40.0
PRINTLN "Cool"
ELIF temp >= 20.0
PRINTLN "Cold"
ELSE
PRINTLN "Very cold"
END IF
// Displays "Very cold"When an Else clause is present, exactly one code block in the If-Elif-Else chain will always execute.
NEW INT x = 50
IF x < 50
PRINTLN "Less than 50"
ELSE
PRINTLN "50 or greater"
END IF
// Displays "50 or greater"NEW BOOL isWeekend = FALSE
IF isWeekend == TRUE
PRINTLN "Enjoy your weekend!"
ELSE
PRINTLN "Have a productive work day!"
END IF
// Displays "Have a productive work day!"NEW INT number = 7
IF ( number % 2 ) == 0
PRINTLN number .. " is even"
ELSE
PRINTLN number .. " is odd"
END IF
// Displays "7 is odd"Variables can be created or modified within Else blocks using New and Set commands.
NEW INT score = 45
NEW STR grade = ""
IF score >= 90
SET grade = "A"
ELIF score >= 80
SET grade = "B"
ELIF score >= 70
SET grade = "C"
ELIF score >= 60
SET grade = "D"
ELSE
SET grade = "F"
END IF
PRINTLN "Final grade: " .. grade
// Displays "Final grade: F"NEW BOOL isMember = FALSE
NEW FLOAT discountRate = 0.0
IF isMember == TRUE
SET discountRate = 0.15
ELSE
SET discountRate = 0.0
END IF
PRINTLN "Discount: " .. ( discountRate * 100.0 ) .. "%"
// Displays "Discount: 0.0%"NEW FLOAT balance = 50.0
NEW FLOAT fee = 0.0
NEW STR status = ""
IF balance >= 1000.0
SET fee = 0.0
SET status = "Premium"
ELIF balance >= 500.0
SET fee = 5.0
SET status = "Standard"
ELSE
SET fee = 10.0
SET status = "Basic"
END IF
PRINTLN "Account status: " .. status
PRINTLN "Monthly fee: $" .. fee
// Displays "Account status: Basic" and "Monthly fee: $10.0"NEW INT attempts = 5
NEW INT maxAttempts = 3
NEW INT remainingAttempts = 0
IF attempts <= maxAttempts
SET remainingAttempts = maxAttempts - attempts
PRINTLN "Attempts remaining: " .. remainingAttempts
ELSE
SET remainingAttempts = 0
PRINTLN "Maximum attempts exceeded"
END IF
// Displays "Maximum attempts exceeded"Else blocks can contain nested If-Elif-Else statements.
NEW INT age = 16
NEW BOOL hasPermission = TRUE
IF age >= 18
PRINTLN "Adult - full access"
ELSE
IF hasPermission == TRUE
PRINTLN "Minor with parental permission"
ELSE
PRINTLN "Minor without permission - restricted"
END IF
END IF
// Displays "Minor with parental permission"NEW INT priority = 3
NEW BOOL urgent = FALSE
IF priority == 1
PRINTLN "Critical priority"
ELSE
IF priority == 2
PRINTLN "High priority"
ELSE
IF urgent == TRUE
PRINTLN "Medium priority - marked urgent"
ELSE
PRINTLN "Standard priority"
END IF
END IF
END IF
// Displays "Standard priority"NEW STR userType = "guest"
NEW BOOL hasAccess = FALSE
IF userType == "admin"
PRINTLN "Admin access granted"
ELSE
IF userType == "user"
PRINTLN "User access granted"
ELSE
IF hasAccess == TRUE
PRINTLN "Guest with special access"
ELSE
PRINTLN "Limited guest access"
END IF
END IF
END IF
// Displays "Limited guest access"NEW STR username = "user123"
NEW STR password = "wrong"
IF username == "admin"
IF password == "admin123"
PRINTLN "Admin login successful"
ELSE
PRINTLN "Admin password incorrect"
END IF
ELSE
IF password == "user123"
PRINTLN "User login successful"
ELSE
PRINTLN "User password incorrect"
END IF
END IF
// Displays "User password incorrect"NEW INT quantity = -5
IF ( quantity >= 1 ) && ( quantity <= 100 )
PRINTLN "Valid quantity: " .. quantity
ELSE
PRINTLN "Invalid quantity - must be between 1 and 100"
END IF
// Displays "Invalid quantity - must be between 1 and 100"NEW INT age = 21
NEW BOOL hasID = TRUE
IF ( age >= 21 ) && hasID
PRINTLN "Entry permitted"
ELSE
PRINTLN "Entry denied"
END IF
// Displays "Entry permitted"NEW FLOAT purchaseAmount = 45.0
NEW FLOAT minPurchase = 50.0
NEW FLOAT discount = 0.0
IF purchaseAmount >= minPurchase
SET discount = purchaseAmount * 0.10
PRINTLN "Discount applied: $" .. discount
ELSE
PRINTLN "Spend $" .. ( minPurchase - purchaseAmount ) .. " more for 10% discount"
END IF
// Displays "Spend $5.0 more for 10% discount"NEW INT stock = 0
IF stock > 0
PRINTLN "In stock: " .. stock .. " available"
ELSE
PRINTLN "Out of stock - please check back later"
END IF
// Displays "Out of stock - please check back later"NEW FLOAT engineTemp = 110.0
NEW FLOAT maxTemp = 100.0
IF engineTemp <= maxTemp
PRINTLN "Temperature normal: " .. engineTemp
ELSE
PRINTLN "WARNING: Temperature exceeds safe limit!"
PRINTLN "Current: " .. engineTemp .. " / Max: " .. maxTemp
END IF
// Displays warning messagesNEW INT passwordLength = 6
NEW INT minLength = 8
IF passwordLength >= minLength
PRINTLN "Password meets minimum requirements"
ELSE
NEW INT needed = minLength - passwordLength
PRINTLN "Password too short - need " .. needed .. " more characters"
END IF
// Displays "Password too short - need 2 more characters"NEW INT age = 70
NEW FLOAT ticketPrice = 0.0
IF age < 5
SET ticketPrice = 0.0
PRINTLN "Free admission for children under 5"
ELIF age < 18
SET ticketPrice = 12.0
PRINTLN "Youth ticket: $" .. ticketPrice
ELIF age < 65
SET ticketPrice = 20.0
PRINTLN "Adult ticket: $" .. ticketPrice
ELSE
SET ticketPrice = 15.0
PRINTLN "Senior ticket: $" .. ticketPrice
END IF
// Displays "Senior ticket: $15.0"NEW INT hoursWorked = 45
NEW INT regularHours = 40
NEW INT overtimeHours = 0
IF hoursWorked <= regularHours
PRINTLN "Regular hours: " .. hoursWorked
ELSE
SET overtimeHours = hoursWorked - regularHours
PRINTLN "Regular hours: " .. regularHours
PRINTLN "Overtime hours: " .. overtimeHours
END IF
// Displays regular and overtime hoursNEW INT numerator = 100
NEW INT denominator = 0
IF denominator != 0
NEW INT result = numerator / denominator
PRINTLN "Result: " .. result
ELSE
PRINTLN "Error: Cannot divide by zero"
END IF
// Displays "Error: Cannot divide by zero"NEW INT creditScore = 580
NEW STR category = ""
IF creditScore >= 800
SET category = "Excellent"
ELIF creditScore >= 740
SET category = "Very Good"
ELIF creditScore >= 670
SET category = "Good"
ELIF creditScore >= 580
SET category = "Fair"
ELSE
SET category = "Poor"
END IF
PRINTLN "Credit rating: " .. category
// Displays "Credit rating: Fair"NEW INT i = 1
WHILE i <= 5
IF ( i % 2 ) == 0
PRINTLN i .. " is even"
ELSE
PRINTLN i .. " is odd"
END IF
SET i = i + 1
END WHILE
// Displays odd/even classification for 1 through 5NEW INT i = 1
NEW INT evenSum = 0
NEW INT oddSum = 0
WHILE i <= 10
IF ( i % 2 ) == 0
SET evenSum = evenSum + i
ELSE
SET oddSum = oddSum + i
END IF
SET i = i + 1
END WHILE
PRINTLN "Even sum: " .. evenSum
PRINTLN "Odd sum: " .. oddSum
// Displays "Even sum: 30" and "Odd sum: 25"NEW INT num = 1
NEW INT passCount = 0
NEW INT failCount = 0
WHILE num <= 10
IF num >= 5
SET passCount = passCount + 1
ELSE
SET failCount = failCount + 1
END IF
SET num = num + 1
END WHILE
PRINTLN "Pass: " .. passCount
PRINTLN "Fail: " .. failCount
// Displays "Pass: 6" and "Fail: 4"NEW INT value = 10
WHILE value <= 50
IF value < 30
PRINTLN value .. " - Low range"
ELSE
PRINTLN value .. " - High range"
END IF
SET value = value + 10
END WHILENEW BOOL isVerified = FALSE
IF isVerified == TRUE
PRINTLN "Account verified"
ELSE
PRINTLN "Please verify your account"
END IF
// Displays "Please verify your account"NEW INT level = 3
IF level >= 10
PRINTLN "Expert level"
ELSE
PRINTLN "Beginner or intermediate level"
END IF
// Displays "Beginner or intermediate level"NEW FLOAT gpa = 2.8
IF gpa >= 3.5
PRINTLN "Dean's List"
ELSE
PRINTLN "Standard standing"
END IF
// Displays "Standard standing"NEW STR command = "help"
IF command == "start"
PRINTLN "Starting system..."
ELIF command == "stop"
PRINTLN "Stopping system..."
ELSE
PRINTLN "Unknown command: " .. command
END IF
// Displays "Unknown command: help"Else can be used directly after If without any Elif clauses.
NEW STR answer = "no"
IF answer == "yes"
PRINTLN "You agreed"
ELSE
PRINTLN "You declined"
END IF
// Displays "You declined"NEW INT score = 58
IF score >= 60
PRINTLN "Pass"
ELSE
PRINTLN "Fail"
END IF
// Displays "Fail"NEW BOOL condition = FALSE
IF condition == TRUE
PRINTLN "Condition met"
ELSE
PRINTLN "Condition not met"
END IF
// Displays "Condition not met"NEW FLOAT temperature = 98.2
NEW FLOAT normal = 98.6
IF temperature >= normal
PRINTLN "Normal or high temperature"
ELSE
PRINTLN "Below normal temperature"
END IF
// Displays "Below normal temperature"NEW FLOAT income = 45000.0
NEW INT creditScore = 680
NEW FLOAT debt = 15000.0
IF ( income >= 50000.0 ) && ( creditScore >= 700 ) && ( debt < 10000.0 )
PRINTLN "Loan approved - excellent terms"
ELIF ( income >= 40000.0 ) && ( creditScore >= 650 )
PRINTLN "Loan approved - standard terms"
ELSE
PRINTLN "Loan application requires review"
END IF
// Displays "Loan application requires review"NEW STR username = "user"
NEW STR password = "pass"
NEW INT twoFactorCode = 1234
IF username == "admin"
IF password == "admin123"
IF twoFactorCode == 9876
PRINTLN "Full admin access"
ELSE
PRINTLN "Invalid two-factor code"
END IF
ELSE
PRINTLN "Invalid admin password"
END IF
ELSE
PRINTLN "Not an admin account"
END IF
// Displays "Not an admin account"NEW INT fileSize = 15000
NEW INT maxSize = 10000
NEW INT minSize = 100
IF fileSize > maxSize
PRINTLN "Error: File too large"
PRINTLN "Maximum size: " .. maxSize .. " bytes"
ELIF fileSize < minSize
PRINTLN "Error: File too small"
PRINTLN "Minimum size: " .. minSize .. " bytes"
ELSE
PRINTLN "File size acceptable: " .. fileSize .. " bytes"
END IF
// Displays error message about file being too largeNEW INT x = 5
ELSE // Syntax error! ELSE must follow IF
PRINTLN "Something"
END IF
// Correct:
IF x > 10
PRINTLN "Greater than 10"
ELSE
PRINTLN "10 or less"
END IFNEW INT score = 75
IF score >= 90
PRINTLN "A"
ELSE
PRINTLN "Not an A"
ELIF score >= 80 // Syntax error! ELIF cannot come after ELSE
PRINTLN "B"
END IF
// Correct:
IF score >= 90
PRINTLN "A"
ELIF score >= 80
PRINTLN "B"
ELSE
PRINTLN "Not A or B"
END IFNEW INT x = 5
IF x > 10
PRINTLN "High"
ELSE
PRINTLN "Not high"
ELSE // Syntax error! Only one ELSE allowed
PRINTLN "This is wrong"
END IF
// Correct:
IF x > 10
PRINTLN "High"
ELIF x > 5
PRINTLN "Medium"
ELSE
PRINTLN "Low"
END IFNEW INT x = 5
IF x > 10
PRINTLN "Greater than 10"
ELSE x > 5 // Syntax error! ELSE does not take a condition
PRINTLN "Greater than 5"
END IF
// Correct: Use ELIF for additional conditions
IF x > 10
PRINTLN "Greater than 10"
ELIF x > 5
PRINTLN "Greater than 5"
ELSE
PRINTLN "5 or less"
END IFNEW INT x = 5
IF x > 10
PRINTLN "Greater than 10"
ELSE
PRINTLN "10 or less"
// Syntax error! Missing END IF
// Correct:
IF x > 10
PRINTLN "Greater than 10"
ELSE
PRINTLN "10 or less"
END IFNEW INT x = 5
IF x > 10
PRINTLN "Greater than 10"
END IF
ELSE // Syntax error! ELSE must come before END IF
PRINTLN "10 or less"
END IF
// Correct:
IF x > 10
PRINTLN "Greater than 10"
ELSE
PRINTLN "10 or less"
END IFELSE // Syntax error! ELSE requires an IF
PRINTLN "This won't work"
END IF
// Correct:
NEW BOOL ready = FALSE
IF ready == TRUE
PRINTLN "Ready"
ELSE
PRINTLN "Not ready"
END IFNEW INT score = 85
ELSE // Syntax error! ELSE must follow IF or ELIF
PRINTLN "Default"
IF score >= 90
PRINTLN "A"
END IF
// Correct:
IF score >= 90
PRINTLN "A"
ELSE
PRINTLN "Not an A"
END IFNEW INT x = 5
IF x > 10
PRINTLN "Greater than 10"
ELSE
// Empty block is valid but does nothing
END IF
// This is valid but Else block has no effect
// Better: Remove Else if not needed
IF x > 10
PRINTLN "Greater than 10"
END IFNEW INT x = 5
IF x > 10
PRINTLN "High"
ELSE // Syntax error! ELSE must be at same IF level
PRINTLN "Low"
END IF
// Correct:
IF x > 10
PRINTLN "High"
ELSE
PRINTLN "Low"
END IFNEW INT value = 50
IF value > 100
PRINTLN "Very high"
ELIF value > 75
PRINTLN "High"
ELSE
// This executes for ALL values <= 75, not just some
PRINTLN "75 or below"
END IF
// Displays "75 or below"
// If you wanted more specific handling:
IF value > 100
PRINTLN "Very high"
ELIF value > 75
PRINTLN "High"
ELIF value > 50
PRINTLN "Medium"
ELSE
PRINTLN "50 or below"
END IF