Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Rosetta code: Split an array into chunks

by Arunbear (Parson)
on Feb 11, 2011 at 19:52 UTC ( #887670=note: print w/replies, xml ) Need Help??


in reply to Rosetta code: Split an array into chunks

Another Lisp variant:
#lang scheme (require scheme/string) (define (chunky li sz [str ""]) (let ([graft (lambda (s l) (string-append s (string-join l " ") "\n"))]) (if [<= (length li) sz] (graft str li) (let-values ([(x y) (split-at li sz)]) (chunky y sz (graft str x)))))) (display (chunky '("a" "bb" "c" "d" "e" "f" "g" "h") 3))
+% mzscheme chunky.ss a bb c d e f g h +%