From fc5e6c9137e72f624c1ba53e6c3a412366ce4a75 Mon Sep 17 00:00:00 2001 From: kier-mirko Date: Tue, 2 Jan 2024 11:13:32 +0100 Subject: [PATCH] Aggiunto is-instance --- Lisp/README.org | 8 ++++++++ Lisp/ool.lisp | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/Lisp/README.org b/Lisp/README.org index 84fa528..f400565 100644 --- a/Lisp/README.org +++ b/Lisp/README.org @@ -223,6 +223,14 @@ nil)) #+end_src +** Controlla se il simbolo passato è un'instance della class +#+begin_src lisp :tanble ool.lisp +(defun is-instance (instance class-name) + (if (eq (getf instance :classname) class-name) + T + NIL)) +#+end_src + ** Controllo tipo valore #+begin_src lisp :tangle ool.lisp (defun type-check-fields (fields) diff --git a/Lisp/ool.lisp b/Lisp/ool.lisp index c16e33b..72fb14a 100644 --- a/Lisp/ool.lisp +++ b/Lisp/ool.lisp @@ -157,6 +157,11 @@ (class-spec name) nil)) +(defun is-instance (instance class-name) + (if (eq (getf instance :classname) class-name) + T + NIL)) + (defun type-check-fields (fields) (cond ((null fields) nil) (t (type-check-field (car fields)) -- 2.52.0