Odd words: Difference between revisions

Content added Content deleted
(→‎{{header|Ruby}}: speed up by binary search)
Line 1,410: Line 1,410:


=={{header|Ruby}}==
=={{header|Ruby}}==
Binary search (bsearch) speeds things up.
<syntaxhighlight lang="ruby">dict = File.readlines("unixdict.txt", chomp: true).reject{|w| w.size < 5}
<syntaxhighlight lang="ruby">dict = File.readlines("unixdict.txt", chomp: true).reject{|w| w.size < 5}
dict.each do |w|
dict.each do |w|
next if w.size < 9
next if w.size < 9
odd = w.chars.each_slice(2).map(&:first).join
odd = w.chars.each_slice(2).map(&:first).join
puts [w.ljust(14), odd].join if dict.bsearch{|w| odd <=> w}
puts w.ljust(14) + odd if dict.bsearch{|w| odd <=> w}
end</syntaxhighlight>
end</syntaxhighlight>
{{out}}
{{out}}