|
Allegro CL |
ANSI Common Lisp ![]() ![]() ![]() 7.6.5.1 Examples of Keyword Arguments in Generic Functions and MethodsFor example, suppose there are two methods defined for width as follows:
(defmethod width ((c character-class) &key font) ...) (defmethod width ((p picture-class) &key pixel-size) ...) Assume that there are no other methods and no generic function definition for width. The evaluation of the following form should signal an error because the keyword argument :pixel-size is not accepted by the applicable method.
(width (make-instance `character-class :char #\Q) :font 'baskerville :pixel-size 10) The evaluation of the following form should signal an error.
(width (make-instance `picture-class :glyph (glyph #\Q)) :font 'baskerville :pixel-size 10) The evaluation of the following form will not signal an error if the class named character-picture-class is a subclass of both picture-class and character-class.
(width (make-instance `character-picture-class :char #\Q) :font 'baskerville :pixel-size 10)
|