;; | --------------------------------------------------------------------------- ;; | LI_Collapse ;; | --------------------------------------------------------------------------- ;; | Function : Collapses 'n' number of items from a list and returns a sub-list ;; | of collapsed list. ;; | Argument : 'Lst' - The list to collapse ;; | 'num' - Number of items to form a sub-list ;; | Returns : The newly created list ;; | Updated : October 22, 2001 ;; | e-mail : rakesh.rao@4d-technologies.com ;; | Web : www.4d-technologies.com ;; | --------------------------------------------------------------------------- (defun LI_Collapse( Lst num / len CLst Lst1 Idx ) (setq CLst '() len (length Lst) ) (if (and (> num 0) (zerop (rem len num)) ) (progn (setq Idx 0 CLst '() ) (repeat (/ len num) (setq Lst1 '()) (repeat num (setq Lst1 (cons (nth Idx Lst) Lst1) Idx (1+ Idx) ) ) (setq Lst1 (reverse Lst1) CLst (cons Lst1 CLst) ) ) (setq CLst (reverse CLst)) )) CLst )