Copyright (C) 2000-2012 |
GNU Info (cl)Accumulation ClausesAccumulation Clauses -------------------- These clauses cause the loop to accumulate information about the specified Lisp FORM. The accumulated result is returned from the loop unless overridden, say, by a `return' clause. `collect FORM' This clause collects the values of FORM into a list. Several examples of `collect' appear elsewhere in this manual. The word `collecting' is a synonym for `collect', and likewise for the other accumulation clauses. `append FORM' This clause collects lists of values into a result list using `append'. `nconc FORM' This clause collects lists of values into a result list by destructively modifying the lists rather than copying them. `concat FORM' This clause concatenates the values of the specified FORM into a string. (It and the following clause are extensions to standard Common Lisp.) `vconcat FORM' This clause concatenates the values of the specified FORM into a vector. `count FORM' This clause counts the number of times the specified FORM evaluates to a non-`nil' value. `sum FORM' This clause accumulates the sum of the values of the specified FORM, which must evaluate to a number. `maximize FORM' This clause accumulates the maximum value of the specified FORM, which must evaluate to a number. The return value is undefined if `maximize' is executed zero times. `minimize FORM' This clause accumulates the minimum value of the specified FORM. Accumulation clauses can be followed by `into VAR' to cause the data to be collected into variable VAR (which is automatically `let'-bound during the loop) rather than an unnamed temporary variable. Also, `into' accumulations do not automatically imply a return value. The loop must use some explicit mechanism, such as `finally return', to return the accumulated result. It is legal for several accumulation clauses of the same type to accumulate into the same place. From Steele: (loop for name in '(fred sue alice joe june) for kids in '((bob ken) () () (kris sunshine) ()) collect name append kids) => (fred bob ken sue alice joe kris sunshine june) automatically generated by info2www version 1.2.2.9 |