Основной вопрос If / Else - PullRequest
1 голос
/ 27 июня 2011

Я получаю странную ошибку: «синтаксическая ошибка, неожиданный конец $, ожидание kEND», и он указывает на последнюю строку моего кода.

Новичок в Ruby и не уверен, что я здесь делаю не так. Любая помощь будет фантастической. Спасибо!

 def add(x,y)
      if(x > y)
        c = x + y
        return c

  else
    puts "Y is too big"
    return   
end


a = 4
b = 6

add(a,b)

Ответы [ 3 ]

6 голосов
/ 27 июня 2011

Кстати, вы можете полностью изменить свое утверждение if..end, если предпочитаете

def add(x,y)
  return (x + y) if(x > y)
  puts "Y is too big"
end
5 голосов
/ 27 июня 2011

Исправленный код (вам не хватает одного конца для if-else):

def add(x,y)
    if(x > y)
        c = x + y
        return c
    else
        puts "Y is too big"
        return   
    end
end

a = 4
b = 6

add(a,b)
2 голосов
/ 27 июня 2011

Оба if оператора и определения функции требуют оператора end для их завершения.

Попробуйте добавить еще один end после существующего end, и ваша проблема должна исчезнуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...