Автор: | Гость |
Дата: | 27 апр 2009 09:10 |
Заголовок сообщения: | Пример Planets |
(defclass PlanetBody () ( (DistantCoef :initarg :DistantCoef :accessor DistantCoef) (Distant :accessor Distant) (RadiusCoef :initarg :RadiusCoef :accessor RadiusCoef) (Radius :accessor Radius) (AngleSpeedCoef :initarg :AngleSpeedCoef :accessor AngleSpeedCoef) (AngleSpeed :accessor AngleSpeed) (Angle :initarg :Angle :accessor Angle) (x :accessor X) (y :accessor Y) (Color :initarg :Color :accessor Color) (Satellites :initarg :Satellites :accessor Satellites) ) ) (defmethod InitializationSatellites ((Body PlanetBody) Satellites) (cond ((null Satellites) t) (t (setf (Radius (car Satellites)) (* MERCURYRADIUS (RadiusCoef (car Satellites)))) (setf (Distant (car Satellites)) (* MERCURYDISTANT (DistantCoef (car Satellites)))) (setf (AngleSpeed (car Satellites)) (/ (/ (* 2 PI) MERCURYTURNTIME) (AngleSpeedCoef (car Satellites)))) (setf (X (car Satellites)) (+ (X Body) (* (sin (Angle (car Satellites))) (Distant (car Satellites))))) (setf (Y (car Satellites)) (+ (Y Body) (* (cos (Angle (car Satellites))) (Distant (car Satellites))))) (InitializationSatellites Body (cdr Satellites)) ) ) ) .... У меня несколько вопросов: 1) (DistantCoef :initarg :DistantCoef :accessor DistantCoef) - что означает это описание переменной класса (:initarg :DistantCoef :accessor что это вообще) ? 2) Как описываются методы и что значит defmethod InitializationSatellites ((Body PlanetBody) Satellites)? 3) И что значит make-instanse в следующем коде: (set 'Sun (make-instance 'PlanetBody :DistantCoef 0 :RadiusCoef 2 :AngleSpeedCoef 10 :Angle 0 :Color :yellow :Satellites nil ) ? Буду очень признателен и извините за наглость) PS Что значит ошибка "Warning in MAIN: SPACE assumed special"? | |
Автор: | Admin |
Дата: | 27 апр 2009 11:37 |
Заголовок сообщения: | Пример Planets |
Во-первых, Ваши вопросы не имеет отношения к специфике LispWorks - лучше спрашивать в fido7.ru.lisp. Во-вторых, следовало для сообщения создать новую тему (я уже перенес сам). Три Ваших вопроса весьма общи и показывают незнание базовых понятий, за разъяснением которых я вынужден направить Вас к учебникам. Что касает ошибки "Warning in MAIN: SPACE assumed special", этот вопрос более конкретен. Скорее всего, где-нибудь забыли quote, т.е. space вместо 'space. К сожалению, в приведенном фрагменте кода space нигде не встречается. Поэтому точнее ответить невозможно. | |
Автор: | Гость |
Дата: | 04 май 2009 16:57 |
Заголовок сообщения: | Пример Planets |
В том то и дело, что учебников найти не могу. Но вроде разобрался более или менее. Спасибо за ссылку | |
стр. 1 из 1 | Часовой пояс: UTC + 3 часа |
Разработка сайта Исток-Системы (www.ystok.ru) | Powered by phpBB (www.phpbb.com) |