]> git.leonardobizzoni.com Git - ObjectOriented-Prolog-Lisp/commitdiff
Fixato backtracking a superclass se metodo giĆ  definito dalla class
authorLeonardoBizzoni <leo2002714@gmail.com>
Thu, 21 Dec 2023 07:04:45 +0000 (08:04 +0100)
committerLeonardoBizzoni <leo2002714@gmail.com>
Thu, 21 Dec 2023 07:04:45 +0000 (08:04 +0100)
Prolog/README.org
Prolog/oop.pl

index 1812694bb2485d7aff49593ca3a7e7f70a3b9292..3f9ce21ea2e26b52017c2ad0bef573cd8f319b45 100644 (file)
@@ -211,7 +211,7 @@ add_part(ClassName, [method(Name, ArgList, Body) | OtherParts]) :-
     asserta(is_member(method(Name, ArgList, Body), ClassName)),
 
     Fn =.. [Name, Instance | ArgList],
-    asserta(Fn :- call_method(Instance, ClassName, Body)),
+    asserta(Fn :- (call_method(Instance, ClassName, Body), !)),
 
     add_part(ClassName, OtherParts).
 #+end_src
index 9cf206387255d62784de79093dfc0736137d7957..7bcd4c674e3923f204ef5c912db5c83f7394e35c 100644 (file)
@@ -154,7 +154,7 @@ add_part(ClassName, [method(Name, ArgList, Body) | OtherParts]) :-
     asserta(is_member(method(Name, ArgList, Body), ClassName)),
 
     Fn =.. [Name, Instance | ArgList],
-    asserta(Fn :- call_method(Instance, ClassName, Body)),
+    asserta(Fn :- (call_method(Instance, ClassName, Body), !)),
 
     add_part(ClassName, OtherParts).