2015-12-06 12 views
-1

Мне нужен метод, который принимает два аргумента: количество пончиков и максимальное потребление пончиков. Этот метод должен возвращать good job, если он ест меньше половины своего максимального потребления и to get back on his diet, когда он превышает свой максимум. У меня возникают проблемы с синтаксисом. Я пробовал следующее, но не могу передать rspec:Условия after if statement

def some_donuts(donuts, maximum) 
    if donuts < maximum 
    "Get back on your diet!" 
    else donuts > (maximum/2) 
    "Good job!" 
    end 
end 

Может ли кто-нибудь помочь с некоторыми подсказками в правильном направлении?

+2

Вам нужно 'elsif' –

+0

Кто такой" он "? ...... – sawa

ответ

1

else не принимает условия. Фактически, else должен содержать код, который должен быть выполнен, если предложение if не соответствует.

if first > second 
    # do something 
else 
    # first =< second 
end 

Если вам нужно больше чем одного условия, используйте elsif.

if first > second 
    # do something 
elsif first == second 
    # do something 
else 
    # first < second 
end 

В вашем случае

def some_donuts(donuts, maximum) 
    if donuts < maximum 
    "Get back on your diet!" 
    elsif donuts > (maximum/2) 
    "Good job!" 
    end 
end 

Обратите внимание, что if заявление пропускает else. Что должно произойти, когда donuts =< maximum/2?

Смежные вопросы