2016-08-22 3 views
-1

私はRubyを勉強するのがとても新しいので、私に同行してください。私の質問をどのように語るのかがわかりませんが、私がこのコードを書いた順序についてはわかりません。If/Elsif関数の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[reference] = nil 

あなたはcomparisonを持っていると思った:

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 

答えて

2

あなたは割り当てを書いたのか?

output[reference] == nil 
+0

まあまあ、それはまさにそれでした。どうもありがとうございます! – shmallen

関連する問題