]> gitweb.factorcode.org Git - factor.git/blob - basis/strings/tables/tables.factor
Merge OneEyed's patch
[factor.git] / basis / strings / tables / tables.factor
1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel sequences fry math.order ;
4 IN: strings.tables
5
6 <PRIVATE
7
8 : format-column ( seq ? -- seq )
9     [
10         dup [ length ] [ max ] map-reduce
11         '[ _ CHAR: \s pad-tail ] map
12     ] unless ;
13
14 : map-last ( seq quot -- seq )
15     [ dup length <reversed> ] dip '[ 0 = @ ] 2map ; inline
16
17 PRIVATE>
18
19 : format-table ( table -- seq )
20     flip [ format-column ] map-last
21     flip [ " " join ] map ;