2016-10-31 46 views
-1

有機化学化合物の名前を付けるコードを作成したいと思います。方法「分子」は期待通りに動作していないメソッドは常に同じ結果を返します

class Molecule 
carbon_number_name = { 1 => 'met', 2 => 'et', 3=> 'prop', 4 => 'but'}; bonds = {1 => 'ano', 2 => 'eno', 3 => 'ino'} 
x = Molecule.new 
def molecule(hidrogen, carbon_numbers) 
    @carbon_numbers = carbon_numbers 
    @hidrogen = hidrogen 
    if hidrogen = 2*(carbon_numbers) 
    return 2 
    elsif hidrogen = 2*(carbon_numbers) + 2 
    return 1 
    else 
    return 3 
end 
end 
puts carbon_number_name[carbon_numbers] + bonds[x.molecule(hidrogen,carbon_numbers)] 

:そのこれまでに「2」を返す条件にもかかわらず、私は以下の書いたスクリプトがあります。間違いはどこですか?

+0

は実際に、エンド 文があり、私はああ、ありがとう、それを –

答えて

2

あなたはifsステートメントの要素を比較していません。単にそれらをhidrogenに割り当てるだけです。 2つのオブジェクトを比較するには

は使用==方法

+0

貼り付ける逃しました!それはかなり単純なようだった。 –

関連する問題