(defstruct person name age) ;;обьявили тип (defgeneric toString (obj));; определели интерфейс (defmethod toString ((obj person)) ;; реализовали интрефейс для типа person (format nil "[Person: name = '~A', age = '~A']" (person-name obj) (person-age obj))) (defparameter alice (make-person :name "Alice" :age 12)) (defparameter bob (make-person :name "Bob" :age 21)) (write-line (toString alice)) ;; напечатает ;; [Person: name = 'Alice', age = '12'] (write-line (toString bob)) ;; напечатает ;; [Person: name = 'Bob', age = '21'] ;; сравнение (format t "alice is equal bob: ~A~%" (equalp alice bob)) ;; => nil (defparameter bob2 (make-person :name "Bob" :age 21)) (format t "bob is equal bob2: ~A~%" (equalp bob bob2)) ;; => t ;;(setf x (toString 1)) <= завершится с ошибкой несоотвествия типа

ничего не понял, но интересно
ОтветитьУдалитьMGM Grand Casino & Hotel - Mapyro
ОтветитьУдалитьThe Grand Grand Casino and 군산 출장마사지 Hotel, formerly 포항 출장안마 the 부천 출장샵 MGM Grand Hotel in Las Vegas, is the flagship property of MGM Resorts International. Located 당진 출장마사지 on the site of its sister property 수원 출장샵