Anagrams: Difference between revisions

Content added Content deleted
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
(Crystal code)
Line 1,817: Line 1,817:
caret trace crate cater carte
caret trace crate cater carte
</pre>
</pre>


=={{header|Crystal}}==
{{trans|Ruby}}
<lang ruby>require "http/client"

response = HTTP::Client.get("http://wiki.puzzlers.org/pub/wordlists/unixdict.txt")

words : Array(String) = response.body_io.gets_to_end.split

anagram = {} of String => Array(String)

words.each do |word|
key = word.split("").sort.join

if !anagram[key]?
anagram[key] = [word]
else
anagram[key] << word
end
end

count = anagram.values.map { |ana| ana.size }.max
anagram.each_value { |ana| puts ana if ana.size >= count }
</lang>

{{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|D}} ==
== {{header|D}} ==
===Short Functional Version===
===Short Functional Version===