Mercurial > emacs
comparison lispref/lists.texi @ 90813:e6fdae9180d4
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 698-710)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 216)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-196
author | Miles Bader <miles@gnu.org> |
---|---|
date | Tue, 24 Apr 2007 21:56:25 +0000 |
parents | 4ef881a120fe ea5eee51e6a0 |
children |
comparison
equal
deleted
inserted
replaced
90812:6137cc8ddf90 | 90813:e6fdae9180d4 |
---|---|
1364 @example | 1364 @example |
1365 @group | 1365 @group |
1366 (delq '(4) sample-list) | 1366 (delq '(4) sample-list) |
1367 @result{} (a c (4)) | 1367 @result{} (a c (4)) |
1368 @end group | 1368 @end group |
1369 | |
1370 If you want to delete elements that are @code{equal} to a given value, | |
1371 use @code{delete} (see below). | |
1369 @end example | 1372 @end example |
1370 | 1373 |
1371 @defun remq object list | 1374 @defun remq object list |
1372 This function returns a copy of @var{list}, with all elements removed | 1375 This function returns a copy of @var{list}, with all elements removed |
1373 which are @code{eq} to @var{object}. The letter @samp{q} in @code{remq} | 1376 which are @code{eq} to @var{object}. The letter @samp{q} in @code{remq} |
1386 @group | 1389 @group |
1387 sample-list | 1390 sample-list |
1388 @result{} (a b c a b c) | 1391 @result{} (a b c a b c) |
1389 @end group | 1392 @end group |
1390 @end example | 1393 @end example |
1391 @noindent | |
1392 The function @code{delq} offers a way to perform this operation | |
1393 destructively. See @ref{Sets And Lists}. | |
1394 @end defun | 1394 @end defun |
1395 | 1395 |
1396 @defun memql object list | 1396 @defun memql object list |
1397 The function @code{memql} tests to see whether @var{object} is a member | 1397 The function @code{memql} tests to see whether @var{object} is a member |
1398 of @var{list}, comparing members with @var{object} using @code{eql}, | 1398 of @var{list}, comparing members with @var{object} using @code{eql}, |
1446 @defun delete object sequence | 1446 @defun delete object sequence |
1447 If @code{sequence} is a list, this function destructively removes all | 1447 If @code{sequence} is a list, this function destructively removes all |
1448 elements @code{equal} to @var{object} from @var{sequence}. For lists, | 1448 elements @code{equal} to @var{object} from @var{sequence}. For lists, |
1449 @code{delete} is to @code{delq} as @code{member} is to @code{memq}: it | 1449 @code{delete} is to @code{delq} as @code{member} is to @code{memq}: it |
1450 uses @code{equal} to compare elements with @var{object}, like | 1450 uses @code{equal} to compare elements with @var{object}, like |
1451 @code{member}; when it finds an element that matches, it removes the | 1451 @code{member}; when it finds an element that matches, it cuts the |
1452 element just as @code{delq} would. | 1452 element out just as @code{delq} would. |
1453 | 1453 |
1454 If @code{sequence} is a vector or string, @code{delete} returns a copy | 1454 If @code{sequence} is a vector or string, @code{delete} returns a copy |
1455 of @code{sequence} with all elements @code{equal} to @code{object} | 1455 of @code{sequence} with all elements @code{equal} to @code{object} |
1456 removed. | 1456 removed. |
1457 | 1457 |
1458 For example: | 1458 For example: |
1459 | 1459 |
1460 @example | 1460 @example |
1461 @group | 1461 @group |
1462 (delete '(2) '((2) (1) (2))) | 1462 (setq l '((2) (1) (2))) |
1463 (delete '(2) l) | |
1463 @result{} ((1)) | 1464 @result{} ((1)) |
1465 l | |
1466 @result{} ((2) (1)) | |
1467 ;; @r{If you want to change @code{l} reliably,} | |
1468 ;; @r{write @code{(setq l (delete elt l))}.} | |
1469 @end group | |
1470 @group | |
1471 (setq l '((2) (1) (2))) | |
1472 (delete '(1) l) | |
1473 @result{} ((2) (2)) | |
1474 l | |
1475 @result{} ((2) (2)) | |
1476 ;; @r{In this case, it makes no difference whether you set @code{l},} | |
1477 ;; @r{but you should do so for the sake of the other case.} | |
1464 @end group | 1478 @end group |
1465 @group | 1479 @group |
1466 (delete '(2) [(2) (1) (2)]) | 1480 (delete '(2) [(2) (1) (2)]) |
1467 @result{} [(1)] | 1481 @result{} [(1)] |
1468 @end group | 1482 @end group |
1469 @end example | 1483 @end example |
1470 @end defun | 1484 @end defun |
1471 | 1485 |
1472 @defun remove object sequence | 1486 @defun remove object sequence |
1473 This function is the non-destructive counterpart of @code{delete}. If | 1487 This function is the non-destructive counterpart of @code{delete}. It |
1474 returns a copy of @code{sequence}, a list, vector, or string, with | 1488 returns a copy of @code{sequence}, a list, vector, or string, with |
1475 elements @code{equal} to @code{object} removed. For example: | 1489 elements @code{equal} to @code{object} removed. For example: |
1476 | 1490 |
1477 @example | 1491 @example |
1478 @group | 1492 @group |
1507 several @code{equal} occurrences of an element in @var{list}, | 1521 several @code{equal} occurrences of an element in @var{list}, |
1508 @code{delete-dups} keeps the first one. | 1522 @code{delete-dups} keeps the first one. |
1509 @end defun | 1523 @end defun |
1510 | 1524 |
1511 See also the function @code{add-to-list}, in @ref{List Variables}, | 1525 See also the function @code{add-to-list}, in @ref{List Variables}, |
1512 for another way to add an element to a list stored in a variable. | 1526 for a way to add an element to a list stored in a variable and used as a |
1527 set. | |
1513 | 1528 |
1514 @node Association Lists | 1529 @node Association Lists |
1515 @section Association Lists | 1530 @section Association Lists |
1516 @cindex association list | 1531 @cindex association list |
1517 @cindex alist | 1532 @cindex alist |