From ca960b222561174192cdb1e0a18b0e2b8a1000cb Mon Sep 17 00:00:00 2001 From: MetMattone <115347319+MetMattone@users.noreply.github.com> Date: Wed, 3 Jan 2024 18:12:54 +0100 Subject: [PATCH] Update README.org sex --- Prolog/README.org | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Prolog/README.org b/Prolog/README.org index 09e2038..3e6e612 100644 --- a/Prolog/README.org +++ b/Prolog/README.org @@ -247,7 +247,7 @@ inst(fb, root). %% false. * Predicati helper ** Predicati dinamici -Predicati usati con `assert` guarda dove vengono usati e scrivi 2 righe. +Predicati usati dal metodo /asserta/, svolgono una funzione di controllo per diverse entità. #+begin_src prolog :tangle oop.pl :- dynamic is_class/1. @@ -324,8 +324,7 @@ add_part(ClassName, [field(Name, Value, Type) | OtherParts]) :- add_part(ClassName, OtherParts). #+end_src -Se viene dato un `method` allora chiedi a Mirko come funzione sta stregoneria. -Definiamo nella base di conoscenza un predicato `Name(InstanceName, ArgList)`. +Se viene dato un `method` allora definiamo nella base di conoscenza un predicato `Name(InstanceName, ArgList)`. #+begin_src prolog :tangle oop.pl add_part(ClassName, [method(Name, ArgList, Body) | OtherParts]) :- @@ -392,7 +391,12 @@ set_fields(InstanceName, _ClassName, _Fields) :- #+end_src ** Sostituzione del termine `this` -Magia nera chiedi a Mirko. + +Nel primo caso se è uguale a restitisci . +Nel secondo caso se è variabile restituiscila. +Nel terzo caso viene trasformato in Funtore(BodyArgs), per poi richiamare ricorsivamente gli argomenti di . +Infine si ricostruisce con il predicato univ e viene restituito. + #+begin_src prolog :tangle oop.pl replace(OldTerm, NewTerm, Body, NewTerm) :- Body == OldTerm, !. -- 2.52.0