我正在尝试从此命令获取此输出:
cat /usr/share/dict/words
并将其放入文本文件中。我最终想要创建一个类方法,它接受一些单词,如(" cat,dog"," xysafjkdfj"),并查看哪个单词不在字典中。我该怎么做?
我做了:
cat /usr/share/dict/words >> dictionary.txt
还有其他办法吗?
基本上,我正在尝试编写一个Ruby程序,用于检查给予该类的某些单词是否包含在该字典中。
答案 0 :(得分:2)
您可能想提及您打算如何使用此功能,因为grep
可以执行您想要的操作,例如grep '^word$' /usr/shared/dict/words
尽管如此,你想要做的只是将所有文本啜饮并将其拆分为换行符(\ n)。然后你可以检查数组是否包含你正在寻找的单词。
所以对于一个简单的例子
dictionary = `cat /usr/share/dict/words`.split("\n").map(&:downcase)
dictionary.include? "foo"
# => true
dictionary.include? "akjsdfakjd"
# => false
更像红宝石的例子(未经测试)
class Dictionary
attr_reader :words
def initialize(src = '/usr/share/dict/words')
@words = File.read(src).split("\n").map(&:downcase)
end
# you could probably even delegate this
def include?(word)
words.include? word
end
end
dict = Dictionary.new
dict.include? "foo"
# => true