: do-length-limit ( seq -- trimmed n/f )
length-limit get dup [
over length over [-]
- [ drop f ] [ [ head-slice ] dip ] if-zero
+ dup 1 > [ [ head-slice ] dip ] [ 2drop f ] if
] when ;
: pprint-elements ( seq -- )
with-string-writer
] unit-test
-{ "{ 0 1 2 3 4 ~1 more~ }" } [
+{ "{ 0 1 2 3 4 5 }" } [
[ 5 length-limit [ 6 iota >array pprint ] with-variable ]
with-string-writer
] unit-test
+
+{ "{ 0 1 2 3 4 ~2 more~ }" } [
+ [ 5 length-limit [ 7 iota >array pprint ] with-variable ]
+ with-string-writer
+] unit-test