从终端创建字典。如何在txt文件中插入单词?

时间:2015-04-14 00:42:40

标签: ruby terminal

我正在尝试从此命令获取此输出:

cat /usr/share/dict/words

并将其放入文本文件中。我最终想要创建一个类方法,它接受一些单词,如(" cat,dog"," xysafjkdfj"),并查看哪个单词不在字典中。我该怎么做?

我做了:

cat /usr/share/dict/words >> dictionary.txt

还有其他办法吗?

基本上,我正在尝试编写一个Ruby程序,用于检查给予该类的某些单词是否包含在该字典中。

1 个答案:

答案 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