March 2014 update

This commit is contained in:
Ingy döt Net 2014-04-02 16:56:35 +00:00
parent 09687c4926
commit a25938f123
1846 changed files with 21876 additions and 5203 deletions

View file

@ -2,7 +2,7 @@ BEGIN {
FS="$"
lcounter = 1
maxfield = 0
# justistification; pick up one
# justification; pick one
#justify = "left"
justify = "center"
#justify = "right"

View file

@ -8,11 +8,11 @@ that$aligns$each$column$of$fields$by$ensuring$that$words$in$each$
column$are$separated$by$at$least$one$space.
Further,$allow$for$each$word$in$a$column$to$be$either$left$
justified,$right$justified,$or$center$justified$within$its$column."
.splitLines.map!q{ a.chomp("$").split("$") };
.split.map!(r => r.chomp("$").split("$"));
int[int] maxWidths;
foreach (const line; data)
foreach (i, word; line)
foreach (immutable i, const word; line)
maxWidths[i] = max(maxWidths.get(i, 0), word.length);
foreach (const just; TypeTuple!(leftJustify, center, rightJustify))

View file

@ -5,15 +5,12 @@
@; pi = padded items (data with row lengths equalized with empty strings)
@; cw = vector of max column widths
@; ce = center padding
@(bind nc @(apply (fun max) (mapcar (fun length) item)))
@(bind pi @(mapcar (lambda (row)
(append row (repeat '("") (- nc (length row)))))
item))
@(bind nc @[apply max [mapcar length item]])
@(bind pi @(mapcar (op append @1 (repeat '("") (- nc (length @1)))) item))
@(bind cw @(vector-list
(mapcar (lambda (column)
(apply (fun max) (mapcar (fun length) column)))
(mapcar (op apply max [mapcar length @1])
;; matrix transpose trick cols become rows:
(apply (fun mapcar) (cons (fun list) pi)))))
[apply mapcar [cons list pi]])))
@(bind ns "")
@(output)
@ (repeat)