pxt-calliope/docs/blocks/logic/boolean.md
Peli de Halleux 92b60a251d On start support (#324)
* annotating APIs to support onstart

* missed file

* updated templates

* adding new lines in main.ts

* fixing docs

* removing onstart

* updated docs

* updated various docs

* more docs

* adding upgrade policies for blocks

* updated pxt reference

* placing on start under "basic"
2016-12-19 14:09:35 -08:00

2.7 KiB

Boolean

true or false.

A Boolean has one of two possible values: true; false. Boolean (logical) operators (and, or, not) take Boolean inputs and yields a Boolean value. Comparison operators on other types (numbers, strings yields a Boolean value.

The following blocks represent the true and false Boolean values, which can be plugged in anywhere a Boolean value is expected:

true;
false;

The next three blocks represent the three Boolean (logic) operators:

true && false;
true || false;
!true;

The next six blocks represent comparison operators that yield a Boolean value. Most comparisons you will do involve numbers:

42 == 0;
42 != 0;
42 < 0;
42 > 0;
42 <= 0;
42 >= 0;

Boolean values and operators are often used with an if or while statement to determine which code will execute next. For example:

Functions that return a Boolean

Some functions return a Boolean value, which you can store in a Boolean variable. For example, the following code gets the on/off state of point (1, 2) and stores this in the Boolean variable named on. Then the code clears the screen if on is true:

Boolean operators

Boolean operators take Boolean inputs and evaluate to a Boolean output:

Conjunction: A and B

A and B evaluates to true if-and-only-if both A and B are true:

false && false == false;
false && true == false;
true && false == false;
true && true == true;

Disjunction: A or B

A or B evaluates to true if-and-only-if either A is true or B is true:

false || false == false;
false || true == true;
true || false == true;
true || true == true;

Negation: not A

not A evaluates to the opposite (negation) of A:

!false == true;
!true == false;

Example

This example turns on LED 3 , 3, if LEDs 1 , 1 and 2 , 2 are both on:

if (led.point(1,1) && led.point(2,2)) {
   led.plot(3,3)
}

Comparisons of numbers and strings

When you compare two Numbers, you get a Boolean value, such as the comparison x < 5 in the code below:

input.onButtonPressed(Button.A, () => {
    let x = Math.random(5)
    if(x < 5) {
    basic.showString("low");
    } else { 
    basic.showString("high");
    }
})

See the documentation on Numbers for more information on comparing two Numbers. You can also compare strings using the equals function.

See also

if, while, number