Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dicts = Dir['/usr/share/dict/*'].reject { |f| f =~ /finnish|catalan|german/ }
- words = Hash.new { |h,k| h[k] = [] }
- $stdout.sync = true
- dicts.each_with_index do |d, i|
- str = ("[#{File.basename(d)}]".ljust(20) + "#{i}/#{dicts.size}")
- print str
- File.new(d, 'r').each_line do |word|
- word.strip!
- words[word.size] << [word, word.split('').sort]
- end
- print "\b" * (str.size + 1)
- end
- loop do
- print "search: "
- searched = gets.strip
- size = searched.size
- splat = searched.split('')
- results = []
- words[size].each do |word, splot|
- if splat.sort == splot
- results << word
- end
- end
- puts results.uniq.join(', ')
- end
Add Comment
Please, Sign In to add comment