![]() | ![]() | ![]() | with-generate-accessors-format | ![]() |
|
| [Macro] |
Purpose
Change the default for accessor names generated by
Package :gbbopen-tools
Module :gbbopen-tools
Arguments and values
| format | Either the keyword :prefix:suffix | |
| prefix/suffix-name | One of the following (evaluated):
| |
| forms | An implicit progn of forms | |
| results | The values returned by evaluating the last form |
Returns
The values returned by evaluating the last form.
Description
If a function object :prefix:suffix
The default :prefix.slot-name”:suffix'#:-of
See also
define-class
define-event-class
define-space-class
define-unit-class
Examples
Define three classes, point, circlerectangle.slot-name”
> (with-generate-accessors-format (:prefix)
(define-class point ()
(x y))
(define-class circle (point)
(radius))
(define-class rectangle (point)
(length width)))
#<standard-class rectangle>
>
Re-define the classes, generating
> (with-generate-accessors-format (:suffix "")
(define-class point ()
(x y))
(define-class circle (point)
(radius))
(define-class rectangle (point)
(length width)))
#<standard-class rectangle>
>
Re-define the classes, generating
“slot-name-of-class-name” slot accessors (note that the
strange-name-string
> (eval-when (:compile-toplevel :load-toplevel :execute)
(defun strange-name-string (class-name slot-name)
(concatenate 'simple-string
(symbol-name class-name) "-"
(symbol-name '#:of) "-"
(symbol-name slot-name))))
strange-name-string
> (with-generate-accessors-format (:prefix (symbol-function 'strange-name-string))
(define-class point ()
(x y))
(define-class circle (point)
(radius))
(define-class rectangle (point)
(length width)))
#<standard-class rectangle>
>
The GBBopen Project
![]() | ![]() | ![]() | with-generate-accessors-format | ![]() |