Boo - lean

I am not trying to scare any persons that are thin, Booleans are a datatype that are commonly used in a programming language to denote a flag, a True/False or a On/Off type information. Now the question is how can one use this? or if you think that you have a perfectly good idea on how to use it, well, have a read and see...

The boolean is the easiest and yet the most underused datatype used by new developers. Even if it used on and off (no puns intended) it is not used properly or the power of these are not really understood.

So let's look at the common usages

Scenario #1
 local isOn = false

 if isOn == true then
   print("The switch is On")
  else
   print("The switch is Off")
  end 

This does not do much, but demonstrates how a boolean is used for conditional statements.

Scenario #2

Here is a sample loop that runs from 1 to 10 using a while loop
 local i=1
 while i<10 do
  print("i = " .. i)
  i+i+1
 end
What if in this scenario, we had no idea of where the loop starts and when the loop ends, if that information was dependent on some other function? We could use this
 local isOn = true

 local function resultFromAnotherFunction()
  local j = math.random(1,100)
  if i % 2 ==0 then
    return true,i
  else
    return false,i
  end
 end

 while isOn do
  isOn,i = resultFromAnotherFunction()
  print("i = " .. i)
 end
In this example we got the value of should we continue the loop or not from a function. Scenario #3, We shall look at a boolean as a real switch
 local isOn = true

 local function printTenNumbers()
  if isOn == false then print("This function is disabled") return end

  local i
  for i = 1, 10 do
   print("Number " .. i)
   i=i+1
  next
 end

 printTenNumbers()
 isOn = false
 printTenNumbers()
Hope that these three scenarios have demonstrated how booleans can be used, for all those that have a question on how can a particular function be switched on or off (normally the parlance or the word would be enabled / disabled) but that would be scenario #3. Use it for touches, in this way
 local function onTouch(event)
  if isIgnoreTouches then return end
   --
   -- do the rest of the handling
 end

hope this has helped,

cheers,

?:)

Comments

Popular Posts