Word wrap: Difference between revisions
m
Prolog bug fix
(Added Prolog Solution) |
m (Prolog bug fix) |
||
Line 3,601:
=={{header|Prolog}}==
{{works with|SWI Prolog}}
SWI Prolog has a built-in function named powm for this purpose.
<lang prolog>% See https://en.wikipedia.org/wiki/Line_wrap_and_word_wrap#Minimum_number_of_lines
word_wrap(String, Length, Wrapped):-
Line 3,609 ⟶ 3,610:
wrap([Space, Word|Words], Line_length, Space_left, Result, String):-
string_length(Word, Word_len),
string_length(Space, Space_len),
(Space_left < Word_len +
Space1 = '\n',
Space_left1 is Line_length - Word_len
;
Space1 = Space,
Space_left1 is Space_left - Word_len -
),
atomic_list_concat([String, Space1, Word], String1),
Line 3,642 ⟶ 3,644:
<pre>
Wrapped at 60 characters:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.
|