! Copyright (C) 2010 Benjamin Meinl. ! See http://factorcode.org/license.txt for BSD license. USING: grouping io kernel locals math math.parser math.ranges sequences ; IN: print-table : dimensions ( table -- x y ) [ length ] [ first length ] bi ; : digits ( n -- n ) number>string length ; : pad ( n n -- str ) [ number>string ] dip CHAR: space pad-head ; : make-table ( x y -- table ) [ * [1,b] ] 2keep drop group ; : print-table ( table -- ) dup dimensions * digits [ [ pad ] curry map " " join print ] curry each ;