新手问题 else if and elsif 问题

dccmmtop · 2018年03月19日 · 最后由 showlovel 回复于 2018年03月19日 · 1286 次阅读

下面是一段简单的 ruby 代码,为什么会出现语法错误。

def tt(n)
  if n == 1
    p 1 
  else if n == 2
    p  2
  elsif n== 3
    p 3 
  end 
end

如果在末尾添加一个end 程序正常。求解释!

else if ❌

elsif ⭕️

Rei 回复

yes,但是我有一点不明白 else if是错误的语法吗? 下面是可以的。

def tt(n)
  if n == 1
    p 1 
  else 
    if n == 2
      p  2 
    end
  elsif n== 3
    p 3 
  end 
end

每个 if(不是 elsif) 都要有自己的 end. 下面也是可以的

def tt(n)
  if n == 1
    p 1 
  else if n == 2
      p  2
    elsif n== 3
      p 3 
    end
  end 
end

又及:

def tt(n)
  if n == 1
    p 1 
  else 
    if n == 2
      p  2
    elsif n== 3
      p 3 
    end
  end 
end

if..[elsif]..[else]...end 是一个 statement

4 楼 已删除
dccmmtop 回复

再仔细看看语法吧

dccmmtop 关闭了讨论。 03月19日 16:08
需要 登录 后方可回复, 如果你还没有账号请 注册新账号