More boolean examples, similar to gleam book. Also, explain correspondence to plutus primitives.
This commit is contained in:
parent
9b3c8e432e
commit
2479b94b67
|
@ -1,19 +1,39 @@
|
||||||
# Bool
|
# Bool
|
||||||
|
|
||||||
Bools are True or False
|
Bools (short for booleans) are True or False. They correspond to the plutus bool primitive type.
|
||||||
|
There are logical disjunctions (True || False) or conjunctions (True && True).
|
||||||
There are logical conjunctions (True && True) or disjunctions (True || False).
|
|
||||||
|
|
||||||
```gleam
|
```gleam
|
||||||
fn negate(b: Bool)->Bool {
|
False || False -- -> False
|
||||||
|
True || False -- -> True
|
||||||
|
False || True -- -> True
|
||||||
|
True || True -- -> True
|
||||||
|
|
||||||
|
False && False -- -> False
|
||||||
|
True && False -- -> False
|
||||||
|
False && True -- -> False
|
||||||
|
True && True -- -> True
|
||||||
|
```
|
||||||
|
|
||||||
|
These are implemented using the plutus ifThenElse primitive.
|
||||||
|
```gleam
|
||||||
|
a || b -- if a {True} else {b} -- ifThenElse(a, True, b)
|
||||||
|
a && b -- if a {b} else {False} -- ifThenElse(a, b, False)
|
||||||
|
```
|
||||||
|
|
||||||
|
An if statement decides on a boolean value.
|
||||||
|
```gleam
|
||||||
|
fn negate(b: Bool) -> Bool {
|
||||||
if b {
|
if b {
|
||||||
False
|
False
|
||||||
}else{
|
}else{
|
||||||
True
|
True
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
fn and(b: Bool, c: Bool, d: Bool)->Bool{
|
The && operator in a function
|
||||||
|
```gleam
|
||||||
|
fn and(b: Bool, c: Bool, d: Bool) -> Bool{
|
||||||
b && c && d
|
b && c && d
|
||||||
}
|
}
|
||||||
```
|
```
|
Loading…
Reference in New Issue