字典测试 - 第一

时间:2015-01-29 20:08:52

标签: ruby

有人可以告诉我关键字方法的作用吗?我不得不查看为什么我的代码没有工作,看到有人有这种方法,所以我添加了它并且它有效。我知道它排序,但它还做了什么

class Dictionary

  attr_accessor :entries

  def initialize
    @entries = {}
  end

  def add(x, value = nil)
    if x.is_a?(Hash)
      x.each do |key, value|
        @entries[key] = value
      end
    else
      @entries[x] = nil
    end
  end

  def keywords
    @entries.keys.sort
  end

  def include?(x)
    @entries.keys.include?(x) ? true : false
  end

  def find(x)
    answer = {}
    @entries.each do |key, value|
      if key.include?(x)
        answer[key] = value
      end
    end
    answer
  end

  def printable
    final = @entries.sort.map {|key, value| "[#{key}] \"#{value}\""}
    final.join("\n")
  end

end

1 个答案:

答案 0 :(得分:0)

它取出散列@entries的键,并将它们作为排序的数组返回。它没有任何副作用。