2016-10-31 10 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에 할당합니다. 두 객체 메소드

+0

아, 감사합니다 붙여 넣기 말았습니다! 그것은 아주 간단하게 보였다. –

관련 문제