Code Select
(define (take n lst) (slice lst 0 n))
(define (drop n lst) (slice lst n))
(define (group-by-num n lst)
(if (null? lst) '()
(cons (take n lst) (group-by-num n (drop n lst)))
)
)
(setq lst '(0 1 2 3 4 5 6 7 8 9))
(group-by-num 2 lst)
;-> ((0 1) (2 3) (4 5) (6 7) (8 9))
(group-by-num 3 lst)
;-> ((0 1 2) (3 4 5) (6 7 8) (9))
(setq lst '(1 2 3 4 5 6 7 8 9 10 11 12))
(group-by-num 2 (group-by-num 2 lst))
;-> (((1 2) (3 4)) ((5 6) (7 8)) ((9 10) (11 12)))
Please, post your version.