Arthur Brandao 6 жил өмнө
parent
commit
2025131558

+ 13 - 2
src/migl/lisp/LispImpl.java

@@ -93,10 +93,21 @@ public class LispImpl implements Lisp {
 			return LispElement.generate(result);
 		});
 		operators.put("=", (lisp) -> {
-			if(lisp.size() != 2) {
+			if(lisp.size() == 0) {
 				throw new LispError(LispError.ERR_NUM_ARG);
 			}
-			boolean result = getElement(lisp.car()).toNumber() == getElement(lisp.cdr().car()).toNumber();
+			boolean result = true;
+			boolean first = true;
+			double value = 0;
+			while(!lisp.isEmpty()) {
+				if(first) {
+					value = getElement(lisp.car()).toNumber();
+					first = false;
+				} else {
+					result = result && (value == getElement(lisp.car()).toNumber());
+				}	
+				lisp = lisp.cdr();
+			}
 			return LispElement.generate(result);
 		});
 		operators.put("+", (lisp) -> {