带有if语句的Ruby函数

时间:2014-01-24 02:15:51

标签: ruby

我有以下功能但不知何故它没有进入if语句。这是第68行的gist

我正在尝试评估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

2 个答案:

答案 0 :(得分:1)

你可以在你的功能中输入这个并告诉我你得到了什么吗?:

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

答案 1 :(得分:1)

问题在于您的界限:

return given_country_population

这应该在if ... end块内移动一行进行名称比较,否则,即使是非匹配也会返回。