Word wrap: Difference between revisions

2,025 bytes added ,  11 years ago
+ standard D version as first entry
(+ standard D version as first entry)
Line 484:
 
=={{header|D}}==
===Standard Version===
<lang d>void main() {
immutable frog =
"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.";
 
import std.stdio, std.string;
foreach (width; [72, 80])
writefln("Wrapped at %d:\n%s\n", width, frog.wrap(width));
}</lang>
{{out}}
<pre>Wrapped at 72:
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.
 
 
Wrapped at 80:
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.</pre>
 
===An Implementation===
Basic algorithm. The text splitting is lazy.
{{trans|Go}}
Line 489 ⟶ 530:
 
string wrap(in string text, in int lineWidth) {
auto words = text.splitter();
if (words.empty) return ""null;
string wrapped = words.front;
words.popFront();
Line 519 ⟶ 560:
import std.stdio;
foreach (width; [72, 80])
writefln("Wrapped at %d:\n%s\n", width, frog.wrap(frog, width));
}</lang>
{{out}}
Line 542 ⟶ 583:
took a golden ball, and threw it up on high and caught it, and this ball was her
favorite plaything.</pre>
 
 
=={{header|F_Sharp|F#}}==