Boolean literals and logic in Soul
true
false
isActive = true isCompleted = false hasError = true isValid = false
// Logical AND result = true && false // false result = true && true // true // Logical OR result = true || false // true result = false || false // false // Logical NOT result = !true // false result = !false // true
// Equality result = 5 == 5 // true result = 5 == 3 // false result = "hello" == "hello" // true // Inequality result = 5 != 3 // true result = 5 != 5 // false // Numerical comparisons result = 10 > 5 // true result = 3 < 8 // true result = 5 >= 5 // true result = 4 <= 3 // false
isLoggedIn = true hasPermission = false if (isLoggedIn) { println("Welcome back!") } if (isLoggedIn && hasPermission) { println("Access granted") } else { println("Access denied") }
keepRunning = true counter = 0 while (keepRunning) { println("Running... " + counter) counter++ if (counter > 5) { keepRunning = false } }
soul isEven(number) { return number % 2 == 0 } soul isValidEmail(email) { return email.contains("@") && email.contains(".") } soul isEmpty(value) { return value == null || value == "" } // Usage if (isEven(10)) { println("10 is even") } if (isValidEmail("user@example.com")) { println("Valid email") }
// Falsy values if (false) { } // false if (null) { } // false if (0) { } // false if ("") { } // false (empty string) // Truthy values if (true) { } // true if (1) { } // true if ("hello") { } // true if ([]) { } // true (empty array) if ({}) { } // true (empty object)
isAdmin = true message = isAdmin ? "Admin access" : "User access" age = 25 canVote = age >= 18 ? true : false status = isActive ? "Online" : "Offline"
// Boolean array flags = [true, false, true, false] // Boolean in objects user = { "name": "Alice", "isActive": true, "isVerified": false, "hasPermissions": true } // Check boolean values if (user.isActive && user.isVerified) { println("User is active and verified") }
soul canAccess(user, resource) { return user.isActive && user.hasPermission(resource) && !user.isBlocked && resource.isAvailable } soul isValidUser(user) { return user != null && user.name != "" && user.email.contains("@") && user.age >= 18 }
DEBUG_MODE = true PRODUCTION_MODE = false FEATURE_ENABLED = true if (DEBUG_MODE) { println("Debug information") } if (PRODUCTION_MODE) { optimizePerformance() }
isActive
flag
isEnabled
isNotDisabled
value == true
// Good isValidUser = user != null && user.isActive && user.hasPermission canProceed = isValidUser && !isBlocked && hasRequiredFields // Clear conditional if (isValidUser && canProceed) { processUser(user) }
Was this page helpful?