Word wrap: Difference between revisions
Content added Content deleted
Line 1,191: | Line 1,191: | ||
=={{header|Elena}}== |
=={{header|Elena}}== |
||
ELENA |
ELENA 4.x : |
||
<lang elena>import extensions |
<lang elena>import extensions; |
||
import system'routines |
import system'routines; |
||
import extensions'text |
import extensions'text; |
||
string text = |
|||
"In olden times when wishing still helped one, there lived a king |
"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."; |
|||
extension wrapOp |
extension wrapOp |
||
{ |
{ |
||
wrap( |
wrap(int lineWidth) |
||
{ |
|||
int currentWidth := 0 |
int currentWidth := 0; |
||
^ TokenEnumerator |
^ TokenEnumerator |
||
new(self) |
.new(self) |
||
selectBy |
.selectBy:(word) |
||
{ |
|||
currentWidth += word |
currentWidth += word.Length; |
||
if (currentWidth > lineWidth) |
if (currentWidth > lineWidth) |
||
{ |
|||
currentWidth := word |
currentWidth := word.Length + 1; |
||
^ newLine + word + " " |
^ newLine + word + " " |
||
} |
|||
else |
|||
{ |
|||
currentWidth += 1; |
|||
^ word + " " |
^ word + " " |
||
} |
|||
} |
|||
summarize( |
.summarize(new StringWriter()) |
||
} |
|||
} |
} |
||
public program |
public program() |
||
{ |
|||
[ |
|||
console |
console.printLine(new StringWriter("-", 72)); |
||
console |
console.printLine(text.wrap(72)); |
||
console |
console.printLine(new StringWriter("-", 80)); |
||
console |
console.printLine(text.wrap(80)); |
||
}</lang> |
|||
{{out}} |
{{out}} |
||
<pre> |
<pre> |