;applicazione funzioni presenti in OBJECT-extension.LISP ;caricare prima file in memoria ;estende1 (prog1 (print"") (defobject foo) (print(ask foo(have 'numero1 5))) (defobject bar) (print(ask bar(have 'numero1 4))) (defobfun(somma bar)(n)(+ n n)) (defobfun(prodotto bar)(n)(* n n)) (defobfun(cubo bar)(n)(* n n n)) (defobfun(quarta bar)(n)(* n n n n)) (print(ask foo(ask-funcall bar somma numero1))) (print(ask foo(ask-funcall bar prodotto numero1))) (print(ask foo(ask-funcall bar cubo numero1))) (print(ask foo(ask-funcall bar quarta numero1))) )
;applicazione funzioni presenti in OBJECT-extension.LISP ;caricare prima file in memoria ;estende2 ;stampa titolo finestra e suona beep 4 volte (prog1 (print"") (mapc-ask(windows)(print(window-title)(ed-beep)) (print(ed-beep))) )
;applicazione funzioni presenti in OBJECT-extension.LISP ;caricare prima file in memoria ;estende3 ;torna lista titoli finestre aperte (prog1 (print"") (print(mapcar-ask(windows)(window-title))) )
;estende4 ;precaricare da LIBRARY il file OBJECT-extension.lisp ;---------------------------------------------------- ;funzione CLASS-OBJECTP (prog1 (print"") (print(class-objectp *window*));;;;;T (defobject foo) (print(class-objectp foo));;;;;;;;;;T (print(ask foo(class-objectp)));;;;;T (setq bar(kindof)) (print(class-objectp bar));;;;;;;;;;nil )
;estende6 ;precaricare da LIBRARY il file OBJECT-extension.lisp ;---------------------------------------------------- ;funzione DEFinstancevars ;modifica con nomi in italiano se non parole chiave ;TITOLO invece di BAR (prog1 (print"") (defobject titolo) (defclassvars titolo(a 1)(b 2)) (definstancevars titolo (ax 10)bx) (setq sigla(oneof titolo)) (setq varia(oneof titolo)) (print(ask sigla a));;;;;;;;1 (print(ask varia a));;;;;;;;1 (print(ask sigla(setq a 2))) (print(ask sigla ax));;;;;;;10 (print(ask varia ax));;;;;;;10 (print(ask sigla (setq ax 20))) (print(ask varia ax));;;;;;;10 )
ritorna