Copyright (C) 2000-2012 |
GNU Info (emacs-lisp-intro.info)Build a listBuild a list ------------ `cons' must have a list to attach to.(1) You cannot start from absolutely nothing. If you are building a list, you need to provide at least an empty list at the beginning. Here is a series of `cons' expressions that build up a list of flowers. If you are reading this in Info in GNU Emacs, you can evaluate each of the expressions in the usual way; the value is printed in this text after `=>', which you may read as `evaluates to'. (cons 'buttercup ()) => (buttercup) (cons 'daisy '(buttercup)) => (daisy buttercup) (cons 'violet '(daisy buttercup)) => (violet daisy buttercup) (cons 'rose '(violet daisy buttercup)) => (rose violet daisy buttercup) In the first example, the empty list is shown as `()' and a list made up of `buttercup' followed by the empty list is constructed. As you can see, the empty list is not shown in the list that was constructed. All that you see is `(buttercup)'. The empty list is not counted as an element of a list because there is nothing in an empty list. Generally speaking, an empty list is invisible. The second example, `(cons 'daisy '(buttercup))' constructs a new, two element list by putting `daisy' in front of `buttercup'; and the third example constructs a three element list by putting `violet' in front of `daisy' and `buttercup'. ---------- Footnotes ---------- (1) Actually, you can `cons' an element to an atom to produce a dotted pair. Dotted pairs are not discussed here; see Note: Dotted Pair Notation. automatically generated by info2www version 1.2.2.9 |