aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref/sequences.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lispref/sequences.texi')
-rw-r--r--doc/lispref/sequences.texi47
1 files changed, 46 insertions, 1 deletions
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index f82c4962759..f268c0d11e2 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -695,9 +695,54 @@ concatenation of @var{sequences}. @var{type} may be: @code{vector},
695@end example 695@end example
696@end defun 696@end defun
697 697
698@defun seq-mapcat function sequence &optional type
699 This function returns the result of applying @code{seq-concatenate}
700to the result of applying @var{function} to each element of
701@var{sequence}. The result is a sequence of type @var{type}, or a
702list if @var{type} is @code{nil}.
703
704@example
705@group
706(seq-mapcat #'seq-reverse '((3 2 1) (6 5 4)))
707@result{} (1 2 3 4 5 6)
708@end group
709@end example
710@end defun
711
712@defun seq-partition sequence n
713 This function returns a list of the elements of @var{sequence}
714grouped into sub-sequences of length @var{n}. The last sequence may
715contain less elements than @var{n}. @var{n} must be an integer. If
716@var{n} is a negative integer or 0, nil is returned.
717
718@example
719@group
720(seq-partition '(0 1 2 3 4 5 6 7) 3)
721@result{} ((0 1 2) (3 4 5) (6 7))
722@end group
723@end example
724@end defun
725
726@defun seq-group-by function sequence
727 This function separates the elements of @var{sequence} into an alist
728whose keys are the result of applying @var{function} to each element
729of @var{sequence}. Keys are compared using @code{equal}.
730
731@example
732@group
733(seq-group-by #'integerp '(1 2.1 3 2 3.2))
734@result{} ((t 2 3 1) (nil 3.2 2.1))
735@end group
736@group
737(seq-group-by #'car '((a 1) (b 2) (a 3) (c 4)))
738@result{} ((a (a 3) (a 1)) (b (b 2)) (c (c 4)))
739@end group
740@end example
741@end defun
742
698@defmac seq-doseq (var sequence [result]) body@dots{} 743@defmac seq-doseq (var sequence [result]) body@dots{}
699@cindex sequence iteration 744@cindex sequence iteration
700This macro is like @code{dolist}, except that @var{sequence} can be a list, 745 This macro is like @code{dolist}, except that @var{sequence} can be a list,
701vector or string (@pxref{Iteration} for more information about the 746vector or string (@pxref{Iteration} for more information about the
702@code{dolist} macro). This is primarily useful for side-effects. 747@code{dolist} macro). This is primarily useful for side-effects.
703@end defmac 748@end defmac