Anagrams: Difference between revisions
Content added Content deleted
m (BaCon and BBC BASIC moved to the BASIC section.) |
imported>Chinhouse No edit summary |
||
Line 5,279: | Line 5,279: | ||
["caret", "carte", "cater", "crate", "trace"], |
["caret", "carte", "cater", "crate", "trace"], |
||
["abel", "able", "bale", "bela", "elba"]] */</syntaxhighlight> |
["abel", "able", "bale", "bela", "elba"]] */</syntaxhighlight> |
||
=={{header|MiniScript}}== |
|||
This implementation is for use with the [http://miniscript.org/MiniMicro Mini Micro] version of MiniScript. The command-line version does not include a HTTP library. The script can be modified to use the file class to read a local copy of the word list. |
|||
<syntaxhighlight lang="miniscript"> |
|||
wordList = http.get("http://wiki.puzzlers.org/pub/wordlists/unixdict.txt").split(char(10)) |
|||
makeKey = function(word) |
|||
return word.split("").sort.join("") |
|||
end function |
|||
wordSets = {} |
|||
for word in wordList |
|||
key = makeKey(word) |
|||
if not wordSets.hasIndex(key) then |
|||
wordSets[key] = [word] |
|||
else |
|||
wordSets[key].push(word) |
|||
end if |
|||
end for |
|||
counts = [] |
|||
for wordSet in wordSets.values |
|||
counts.push([wordSet.len, wordSet]) |
|||
end for |
|||
counts.sort(0, false) |
|||
maxCount = counts[0][0] |
|||
for count in counts |
|||
if count[0] == maxCount then print count[1] |
|||
end for |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
["abel", "able", "bale", "bela", "elba"] |
|||
["alger", "glare", "lager", "large", "regal"] |
|||
["angel", "angle", "galen", "glean", "lange"] |
|||
["caret", "carte", "cater", "crate", "trace"] |
|||
["elan", "lane", "lean", "lena", "neal"] |
|||
["evil", "levi", "live", "veil", "vile"]</pre> |
|||
=={{header|MUMPS}}== |
=={{header|MUMPS}}== |