]> git.leonardobizzoni.com Git - ObjectOriented-Prolog-Lisp/commitdiff
sex
authorMetMattone <115347319+MetMattone@users.noreply.github.com>
Mon, 1 Jan 2024 17:35:46 +0000 (18:35 +0100)
committerGitHub <noreply@github.com>
Mon, 1 Jan 2024 17:35:46 +0000 (18:35 +0100)
modifiche a field, fieldx e make

Prolog/README.org

index 501853360b377aaf7a0a9742841fff108daa57d8..5cc6d1c636e6b8482500262316deb7905bf6dc9c 100644 (file)
@@ -129,10 +129,13 @@ Istanzia una classe dato:
 - la classe da istanziare
 - una lista di `assegnamenti`
 
-Sostanzialmente craiamo il costruttore della classe. 
-Un costruttore è un elemento in un linguaggio di programmazione utilizzato per inizializzare un oggetto di una classe. 
-Viene chiamato automaticamente al momento della creazione dell'oggetto, 
-garantendo che l'oggetto sia in uno stato coerente e pronto per l'uso, assegnando valori iniziali ai suoi attributi.
+Sostanzialmente craiamo il costruttore della classe.
+
+Se l'istanza non ha <Fields> allora si crea un istanza con una lista vuota.
+Se abbiamo il campo <Fields> dobbiamo prima controllare che non esista già la stessa istanza.
+Se esiste non si procede con l'operazione, in quanto rindondante, in caso contrario si passa alla creazione effettiva del metodo.
+Se fallisce la creazione del metodo si elimanano le eventuali informazioni residue dalla base di conoscenza.
+
 
 *** Implementazione
 #+begin_src prolog :tangle oop.pl
@@ -181,10 +184,10 @@ make(Instance, bar, [bar = "69"]). %% Instance = b; false.
 
 ** field
 *** Definizione
-Estrae il valore di una classe da un campo
+Estrae il valore di una classe da un campo.
 
-Questa funzione svolge lo stesso compito di un getter, 
-ovvero una funzione che fornisce un modo controllato per accedere al valore di un attributo all'interno di una classe.
+Questa funzione svolge lo stesso compito di un getter,
+ovvero una funzione che fornisce un modo controllato per accedere al valore di un attributo, all'interno di una classe.
 
 *** Implementazione
 #+begin_src prolog :tangle oop.pl
@@ -202,14 +205,10 @@ field(root, value, X).                 %% X = 200
 
 ** fieldx
 *** Definizione
-Estrae il valore dalla classe percorrendo una catena di attributi(?)
-
+Estrae il valore dalla classe percorrendo una catena di attributi.
 Il caso base del metodo è quando <FieldName>+ è una lista formata da un solo elemento, con un field possiamo estrattre l'ultimo (e solo) valore di <FieldName>+
-
 Se <FieldName>+ ha più elementi possiamo richiamare il metodo ricorsivamente sulla coda della lista finchè la lista non avrà un solo elemento riportandoci al caso base.
 
-(spero sia coretto non ci ho capito molto)
-
 *** Implementazione
 #+begin_src prolog :tangle oop.pl
 fieldx(Instance, [FieldName], Res) :-