如何从哈希红宝石中获取密钥

时间:2013-12-19 22:36:35

标签: ruby hash key

下一个代码搜索关键字是否出现在哈希值中,如果是,则打印是, 但它在codeacademy控制台中运行良好,但在我的Rubymine中它给了我异常

NoMethodError:未定义的方法`keys'为零:NilClass

我尝试过使用each_key方法,但它是同样的rusult。

arr = [
 { name: "2222", num:"4444 kod"},
 { name: "3222 kod", num:"43423444"},
 { name: "224422", num:"4442424"}
]

p = "kod"

arr.each do |frelancer|
frelancer.keys.each do |key|
    if frelancer[key].split(" ").include? (p)
        puts "yes"
    esle 
  puts "no"
    end

你能提出一些建议吗?)

2 个答案:

答案 0 :(得分:3)

你有2个错误:

  1. 您撰写了esle而不是else
  2. 您缺少一个end条款

答案 1 :(得分:0)

您的积分需要end个关键字。 else应拼写正确。

arr.each do |frelancer|
  frelancer.keys.each do |key|
    if frelancer[key].split(" ").include? (p)
      puts "yes"
    else  
      puts "no"
    end  
  end  
end