Add logic functions

This commit is contained in:
Quentin Leonetti 2019-07-13 20:57:12 +02:00
parent 5de7d7fdc4
commit d5225a3d68
2 changed files with 42 additions and 0 deletions

View File

@ -28,7 +28,40 @@ function Library (ronin) {
console.log(...args) console.log(...args)
} }
// Logic
this.gt = (a, b) => {
return a > b
}
this.lt = (a, b) => {
return a < b
}
this.eq = (a, b) => {
return a === b
}
this.and = (...args) => {
for (let i = 0; i < args.length; i++) {
if (!args[i]) {
return args[i]
}
}
return args[args.length - 1]
}
this.or = (...args) => {
for (let i = 0; i < args.length; i++) {
if (args[i]) {
return args[i]
}
}
return args[args.length - 1]
}
// Arrays // Arrays
this.map = (fn, arr) => { this.map = (fn, arr) => {
return arr.map(fn) return arr.map(fn)
} }

9
examples/logic.lisp Normal file
View File

@ -0,0 +1,9 @@
(
(print (lt 3 4))
(print (and 1 2 true 4))
(print (and 1 false 2))
(print (or false false 2 false))
)