31 lines
620 B
Plaintext
31 lines
620 B
Plaintext
class Main
|
|
{
|
|
public static Bool ordered (Str word)
|
|
{
|
|
word.chars.all |Int c, Int i -> Bool|
|
|
{
|
|
(i == (word.size-1) || c <= word.chars[i+1])
|
|
}
|
|
}
|
|
|
|
public static Void main ()
|
|
{
|
|
Str[] words := [,]
|
|
File(`unixdict.txt`).eachLine |Str word|
|
|
{
|
|
if (ordered(word))
|
|
{
|
|
if (words.isEmpty || words.first.size < word.size)
|
|
{ // reset the list
|
|
words = [word]
|
|
}
|
|
else if (words.size >= 1 && words.first.size == word.size)
|
|
{ // add word to existing ones
|
|
words.add (word)
|
|
}
|
|
}
|
|
}
|
|
echo (words.join (" "))
|
|
}
|
|
}
|