| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
A mapping function applies a given function (not a special form
or macro) to each element of a list or other collection. Emacs Lisp has
several such functions; mapcar and mapconcat, which scan a
list, are described here. @xref{Definition of mapatoms}, for the function
mapatoms which maps over the symbols in an obarray. Voir Definition of maphash, for the function maphash which maps over key/value
associations in a hash table.
These mapping functions do not allow char-tables because a char-table is a
sparse array whose nominal range of indices is very large. To map over a
char-table in a way that deals properly with its sparse nature, use the
function map-char-table (voir la section Char-Tables).
mapcar applies function to each element of sequence in
turn, and returns a list of the results.
The argument sequence can be any kind of sequence except a char-table; that is, a list, a vector, a bool-vector, or a string. The result is always a list. The length of the result is the same as the length of sequence. For example:
(mapcar 'car '((a b) (c d) (e f)))
⇒ (a c e)
(mapcar '1+ [1 2 3])
⇒ (2 3 4)
(mapcar 'char-to-string "abc")
⇒ ("a" "b" "c")
;; Call each function in |
mapc is like mapcar except that function is used for
side-effects only—the values it returns are ignored, not collected into a
list. mapc always returns sequence.
mapconcat applies function to each element of sequence:
the results, which must be strings, are concatenated. Between each pair of
result strings, mapconcat inserts the string separator.
Usually separator contains a space or comma or other suitable
punctuation.
The argument function must be a function that can take one argument and return a string. The argument sequence can be any kind of sequence except a char-table; that is, a list, a vector, a bool-vector, or a string.
(mapconcat 'symbol-name
'(The cat in the hat)
" ")
⇒ "The cat in the hat"
(mapconcat (function (lambda (x) (format "%c" (1+ x))))
"HAL-8000"
"")
⇒ "IBM.9111"
|
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.