请耐心等待我,因为我对学习Ruby非常新。不完全确定如何解释我的问题,但它是关于我编写此代码的顺序。
output = Hash.new
input.each do |word|
dictionary.each do |reference|
if (word.include? reference) && output[reference] = nil
output[reference] = 1
elsif word.include? reference
output[reference] += 1
end
end
end
上面的代码返回错误,而下面的代码按照我希望的方式工作。基本上,我的问题是为什么一个工作而不是另一个?从逻辑上讲,我将它们解释为几乎相同。
output = Hash.new
input.each do |word|
dictionary.each do |reference|
if (word.include? reference) && output[reference] != nil
output[reference] += 1
elsif word.include? reference
output[reference] = 1
end
end
end