aboutsummaryrefslogtreecommitdiff
path: root/class.lisp
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2026-07-26 01:00:46 +0100
committerGene Pasquet <dev@etenil.net>2026-07-26 01:00:46 +0100
commit244bb89c73d6829c68e2e7c3270d146493981fbc (patch)
treea7bc12a9771ed657996e1fe50fb14d8deeea4fdb /class.lisp
parent373b8212e7519c9b0ead6f144eef96cad072a7ba (diff)
First working version
Diffstat (limited to 'class.lisp')
-rw-r--r--class.lisp43
1 files changed, 20 insertions, 23 deletions
diff --git a/class.lisp b/class.lisp
index ba68fcc..fdc0beb 100644
--- a/class.lisp
+++ b/class.lisp
@@ -1,27 +1,24 @@
(uiop:define-package
- :simple-text-clim-frame/class
- (:export #:my-class #:my-display)
- (:import-from :asdf))
+ :solar-short/class
+ (:export #:book #:display-haiku)
+ (:import-from :asdf))
-(in-package :simple-text-clim-frame/class)
+(in-package :solar-short/class)
-(defclass my-class ()
- ((text-slot
- :initform #.(format
- nil
- "~{~a~^~%~}"
- (with-open-file
- (in (merge-pathnames
- #P"some.text"
- (asdf:system-source-directory
- "simple-text-clim-frame")))
- (loop for line = (read-line in nil nil)
- while line
- collect line))))))
+(defclass book ()
+ ((haikus
+ :initform (list "haiku 1"
+ "haiku 2"
+ "haiku 3"))
+ (current :initform 0)))
-(defmethod my-display ((obj my-class) stream)
- (with-slots
- (text-slot)
- obj
- (princ text-slot stream)))
-
+(defmethod display-haiku ((obj book) stream)
+ (with-slots (haikus current) obj
+ (princ (nth current haikus) stream)))
+
+;; (defmethod next-haiku ((book book))
+;; (setf (current book)
+;; (+ (if (= (current book) (length (haikus book)))
+;; 0
+;; 1)
+;; (current book))))