| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
The :inline feature lets you splice a variable number of elements
into the middle of a list or vector. You use it in a set,
choice or repeat type which appears among the element-types of
a list or vector.
Normally, each of the element-types in a list or vector
describes one and only one element of the list or vector. Thus, if an
element-type is a repeat, that specifies a list of unspecified length
which appears as one element.
But when the element-type uses :inline, the value it matches is
merged directly into the containing sequence. For example, if it matches a
list with three elements, those become three elements of the overall
sequence. This is analogous to using ‘,@’ in the backquote construct.
For example, to specify a list whose first element must be baz and
whose remaining arguments should be zero or more of foo and
bar, use this customization type:
(list (const baz) (set :inline t (const foo) (const bar))) |
This matches values such as (baz), (baz foo), (baz bar)
and (baz foo bar).
When the element-type is a choice, you use :inline not in the
choice itself, but in (some of) the alternatives of the
choice. For example, to match a list which must start with a file
name, followed either by the symbol t or two strings, use this
customization type:
(list file
(choice (const t)
(list :inline t string string)))
|
If the user chooses the first alternative in the choice, then the overall
list has two elements and the second element is t. If the user
chooses the second alternative, then the overall list has three elements and
the second and third must be strings.
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.