【问题标题】:Basic If/Else statement question基本 If/Else 语句问题
【发布时间】:2011-09-23 07:30:10
【问题描述】:

我收到一个奇怪的错误:“语法错误,意外 $end,期待 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)

【问题讨论】:

  • 如果要添加,为什么 x 大于 y 很重要?
  • 我只是在玩基本的 if 语句。没有过多地思考这里的逻辑。基础工作

标签: ruby syntax if-statement


【解决方案1】:

顺便说一句,如果你愿意,你可以完全重构你的 if..end 语句

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

【讨论】:

    【解决方案2】:

    更正的代码(您缺少 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)
    

    【讨论】:

      【解决方案3】:

      if 语句和 function definitions 都需要 end 语句来终止它们。

      尝试在您现有的end 之后添加另一个end,您的问题应该会消失。

      【讨论】:

        【解决方案4】:

        wap 输入原则、速率、时间和选择。如果选项为 1,则计算单利,如果选项为 2,则计算复利,如果不是 1 或 2,则打印“输入有效选项”

        【讨论】:

        • 嗨大卫,欢迎!很高兴你插话,遗憾的是在这种情况下你添加了一个答案,那里已经有更好的答案。试着仔细阅读这个问题,因为他的问题实际上是缺失的,而你的回答只是重申他的问题陈述。但是请保持贡献,不要将可能的投票视为沮丧,而是鼓励改进您的答案;-)