RosettaCodeData/Task/Word-wrap/Bracmat/word-wrap.bracmat

30 lines
1.1 KiB
Text
Raw Permalink Normal View History

2013-10-27 22:24:23 +00:00
( str
$ ( "In olden times when wishing still helped one, there lived a king "
"whose daughters were all beautiful, but the youngest was so beautiful "
"that the sun itself, which has seen so much, was astonished whenever "
"it shone in her face. Close by the king's castle lay a great dark "
"forest, and under an old lime tree in the forest was a well, and when "
"the day was very warm, the king's child went out into the forest and "
"sat down by the side of the cool fountain, and when she was bored she "
"took a golden ball, and threw it up on high and caught it, and this "
"ball was her favorite plaything."
)
: ?Text
& ( wrap
2015-02-20 00:35:01 -05:00
= txt length line output q rem
2013-10-27 22:24:23 +00:00
. !arg:(?txt.?length)
& :?output
& whl
' ( @( str$!txt
: ?line
2015-02-20 00:35:01 -05:00
(" " %?lastword [?q " " ?rem&!q:~<!length)
2013-10-27 22:24:23 +00:00
)
2015-02-20 00:35:01 -05:00
& !lastword " " !rem:?txt
2013-10-27 22:24:23 +00:00
& !output !line \n:?output
)
& str$(!output !txt)
)
& out$(str$("72 columns:\n" wrap$(!Text.72)))
& out$(str$("\n80 columns:\n" wrap$(!Text.80)))
);