Anagrams: Difference between revisions

Content added Content deleted
No edit summary
Line 314: Line 314:
>>></lang>
>>></lang>


{{trans|Haskell}}
{{works with|Python|2.6}} sort and then group using groupby()
{{works with|Python|2.6}} sort and then group using groupby()
<lang python>>>> import urllib, itertools
<lang python>>>> import urllib, itertools
Line 351: Line 352:


count = anagram.values.map {|ana| ana.length}.max
count = anagram.values.map {|ana| ana.length}.max
anagram.each_value do |ana|
for ana in anagram.values
if ana.length >= count
if ana.length >= count
p ana
p ana
Line 363: Line 364:
["angel", "angle", "galen", "glean", "lange"]
["angel", "angle", "galen", "glean", "lange"]
["caret", "carte", "cater", "crate", "trace"]
["caret", "carte", "cater", "crate", "trace"]

{{trans|Haskell}}
{{works with|Ruby|1.8.7+}} sort and then group using group_by
<lang ruby>require 'open-uri'

anagram = nil

open('http://www.puzzlers.org/pub/wordlists/unixdict.txt') do |f|
anagram = f.read \
.split \
.sort_by {|s| s.each_char.sort} \
.group_by {|s| s.each_char.sort}
end

count = anagram.each_value.map {|ana| ana.length}.max
anagram.each_value do |ana|
if ana.length >= count
p ana
end
end</lang>


=={{header|Tcl}}==
=={{header|Tcl}}==