Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
3
Task/Inheritance-Single/TXR/inheritance-single-1.txr
Normal file
3
Task/Inheritance-Single/TXR/inheritance-single-1.txr
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
@(defex cat animal)
|
||||
@(defex lab dog animal)
|
||||
@(defex collie dog)
|
||||
4
Task/Inheritance-Single/TXR/inheritance-single-2.txr
Normal file
4
Task/Inheritance-Single/TXR/inheritance-single-2.txr
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
@(try)
|
||||
@ (throw lab "x")
|
||||
@(catch animal (arg))
|
||||
@(end)
|
||||
23
Task/Inheritance-Single/TXR/inheritance-single-3.txr
Normal file
23
Task/Inheritance-Single/TXR/inheritance-single-3.txr
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
(defstruct animal nil
|
||||
name
|
||||
(:method get-name (me)
|
||||
(if me.name me.name (error `get-name: animal @me has no name`)))
|
||||
(:method speak (me stream)
|
||||
(error "abstract animal cannot speak")))
|
||||
|
||||
(defstruct dog animal
|
||||
(:method speak (me : (stream *stdout*))
|
||||
(put-line `@{me.(get-name)}: bark!` stream)))
|
||||
|
||||
(defstruct cat animal
|
||||
(:method speak (me : (stream *stdout*))
|
||||
(put-line `@{me.(get-name)}: meow!` stream)))
|
||||
|
||||
(defstruct lab dog)
|
||||
|
||||
(defstruct collie dog)
|
||||
|
||||
(let ((pet1 (new collie name "Lassie"))
|
||||
(pet2 (new cat name "Max")))
|
||||
pet1.(speak)
|
||||
pet2.(speak))
|
||||
Loading…
Add table
Add a link
Reference in a new issue