Data update
This commit is contained in:
parent
29a5eea0d4
commit
5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions
40
Task/Word-wrap/PascalABC.NET/word-wrap.pas
Normal file
40
Task/Word-wrap/PascalABC.NET/word-wrap.pas
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
function Wrap(words: sequence of string; lineWidth: integer): sequence of string;
|
||||
begin
|
||||
var currentWidth := 0;
|
||||
foreach var word in words do
|
||||
begin
|
||||
if currentWidth <> 0 then
|
||||
if currentWidth + word.Length < lineWidth then
|
||||
begin
|
||||
currentWidth += 1;
|
||||
yield ' ';
|
||||
end
|
||||
else
|
||||
begin
|
||||
currentWidth := 0;
|
||||
yield NewLine;
|
||||
end;
|
||||
currentWidth += word.Length;
|
||||
yield word;
|
||||
end;
|
||||
end;
|
||||
|
||||
function Wrap(text: string; lineWidth: integer): string
|
||||
:= Wrap(text.ToWords(' '#13#10),lineWidth).JoinToString('');
|
||||
|
||||
begin
|
||||
var text := '''
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas varius sapien
|
||||
vel purus hendrerit vehicula. Integer hendrerit viverra turpis, ac sagittis arcu
|
||||
pharetra id. Sed dapibus enim non dui posuere sit amet rhoncus tellus
|
||||
consectetur. Proin blandit lacus vitae nibh tincidunt cursus. Cum sociis natoque
|
||||
penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam tincidunt
|
||||
purus at tortor tincidunt et aliquam dui gravida. Nulla consectetur sem vel
|
||||
felis vulputate et imperdiet orci pharetra. Nam vel tortor nisi. Sed eget porta
|
||||
tortor. Aliquam suscipit lacus vel odio faucibus tempor. Sed ipsum est,
|
||||
condimentum eget eleifend ac, ultricies non dui. Integer tempus, nunc sed
|
||||
venenatis feugiat, augue orci pellentesque risus, nec pretium lacus enim eu
|
||||
nibh.
|
||||
''';
|
||||
Wrap(text,50).Println;
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue