43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
void local fn BooleanExercise
|
|
BOOL areEqual = (1 == 1) // areEqual is YES
|
|
BOOL areNotEqual = not areEqual /* areNotEqual is converted to: areEqual = (-(1 == 1)). -1 throws a clang warning.
|
|
NOTE: FB does not accept the "!" shorthand for "not", i.e. !areEqual, common in other languages. */
|
|
|
|
print "areEqual == "; areEqual
|
|
print "areNotEqual == "; areNotEqual
|
|
print
|
|
|
|
// Boolean types assigned values outside YES or NO compile without complaint.
|
|
boolean minusOneTest = -1
|
|
print "minusOneTest == "; minusOneTest
|
|
|
|
// Typical boolean value is use
|
|
BOOL flatterRosettaReader = YES
|
|
if (flatterRosettaReader)
|
|
print
|
|
print @"Rosetta Code programmers understand booleans."
|
|
print
|
|
end if
|
|
|
|
// Defined Core Foundation boolean values
|
|
print "kCFBooleanTrue == "; kCFBooleanTrue
|
|
print "kCFBooleanFalse == "; kCFBooleanFalse
|
|
print
|
|
|
|
// Number object assigned literal value
|
|
CFNumberRef booleanObject = @(YES)
|
|
print "booleanObject == "; booleanObject
|
|
print
|
|
|
|
// Number object created programmatically
|
|
booleanObject = NO
|
|
print "booleanObject variable reassigned as N0 == "; fn NumberWithBool( booleanObject )
|
|
print
|
|
end fn
|
|
|
|
window 1
|
|
|
|
fn BooleanExercise
|
|
|
|
HandleEvents
|