2014-01-24 48 views
0

我有以下函數,但不知何故它不會進入if語句。這是我gist上線68帶有if語句的Ruby函數

我試圖評估如果object.country名具有相同的名稱爲「example_of_a_country_name」

def find_population_of_country(liste_pays, country_name) 
    given_country_population = 0 
    liste_pays.each do |n| 
    if (n.country.eql?(country_name.upcase)) 
     given_country_population = n.population 

     #I'm trying to see if it's output something here 
     puts country_name.upcase 
    end 
    return given_country_population 
    end 
end 

回答

1

您可以在函數中鍵入這一點,並告訴我你的得到?:

def find_population_of_country(liste_pays, country_name) 
    liste_pays.select {|n| n.country.eql?(country_name.upcase) } 
end 
end 
+0

如果您可以指定模型的相關性,這也將有所幫助。 –

+0

謝爾溫哥!首先現在這個功能起作用。我將能夠繼續。第二:這不是一個模型。我正嘗試通過重做Java中的所有分配來學習Ruby中的類。 THKS! –

+0

對啊,我的壞事沒有看到缺少'rails'標籤。快樂它的作品,玩得開心編碼。 –

1

的問題是你的行:

return given_country_population 

這應該被移動一行,在if ... end塊內進行名稱比較,否則,即使是不匹配也會返回。

+0

th @ @jeremycole!我在想如何選擇作品,但不是.each?謝謝你的提示。 –