RosettaCodeData/Task/Logical-operations/M2000-Interpreter/logical-operations.m2000
2023-07-01 13:44:08 -04:00

32 lines
921 B
Text

Module CheckIt {
Def Boolean A, B
Document Rep$
A=True
B=False
k=(A, B)
And=Lambda (a as Boolean, b as Boolean)-> a and b
Or=Lambda (a as Boolean, b as Boolean)-> a or b
Xor=Lambda (a as Boolean, b as Boolean)-> a xor b
Not=Lambda (a)->Not a
func=((And, "And"), (Or, "Or"), (Xor, "Xor"))
F1=Each(func)
While F1 {
M1=Each(k)
M2=Each(k)
While M1 {
While M2 {
A=Array(Array(F1), 0)
Rep$=Format$("{0} {1} {2} = {3}",Array(M1), Array$(Array(F1), 1),Array(M2), A(Array(M1), Array(M2)))+{
}
}
}
}
M1=Each(k)
While M1 {
Rep$=Format$("Not {0} = {1}",Array(M1), Not Array(M1))+{
}
}
Report Rep$
Clipboard Rep$
}
CheckIt