2013-12-19 96 views
-2

下一個代碼搜索,如果關鍵詞出現在散列值和打印是的,如果是這樣, 但它運作良好,在codeacademy控制檯,但在我的RubyMine它給我的異常從哈希紅寶石如何獲得鑰匙

NoMethodError:未定義方法`鍵'爲零:NilClass

我試過使用each_key方法,但它是相同的結果。

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

發表真正的代碼 - 顯然這並不解析(例如'esle') – Matt

+1

你寫的兩個塊在哪裏? Ruby =/= Python –

+0

當你的代碼中的語法問題是固定的,它對我來說運行良好,併產生:'不,是,是,不,不,不。有什麼問題? –

回答

3

你有2個錯誤:

  1. 你寫esle代替else
  2. 你缺少一個end條款
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