![]() | ![]() | ![]() | 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
, circle
rectangle
.
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 | ![]() |