blob: 8e733b199b5a24d4f2c29aa5b39a5fa892a2e829 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
(defpackage zone
(:use :cl)
(:export :new-zone
:name
:get-commodity
:get-commodities))
(in-package :zone)
(defclass zone ()
((name :initarg :name
:reader name)
(commodities :initarg :commodities
:accessor commodities
:reader get-commodities)))
(defun new-zone (name commodities)
(make-instance 'zone
:name name
:commodities commodities))
(defmethod get-commodity ((z zone) commodity-name)
(find-if (lambda (c) (string= (commodities:name c)
commodity-name))
(commodities z)))
|