RosettaCodeData/Task/Ordered-words/PascalABC.NET/ordered-words.pas

20 lines
516 B
ObjectPascal

uses System.Net;
function IsOrderedWord(w: string): boolean;
begin
result := true;
for var i := 2 to w.Length do
begin
if w[i] < w[i - 1] then result := false
end;
end;
begin
var client := new WebClient();
var text := client.DownloadString('http://wiki.puzzlers.org/pub/wordlists/unixdict.txt');
var words: sequence of string := text.ToWords(|#10, #13|);
words := words.Where(x -> IsOrderedWord(x));
var maxlen := words.Max(x -> x.Length);
words.Where(x -> x.length = maxlen).Println;
end.