-2

以下是一个编码示例:

  d(val)
   if !(val.is_a? Fixnum)
      "#{val} is not an integer"
   elsif val % 2 == 0    
      "#{val} is even"
   else             
      "#{val} is odd"
   end
end

我不明白为什么有两个“结束”。我认为应该只有一个“结束”来完成 if 语句。请解释。

4

2 回答 2

1

要么你错过了def那里:

def d(val)
   if !(val.is_a? Fixnum)
      "#{val} is not an integer"
   elsif val % 2 == 0    
      "#{val} is even"
   else             
      "#{val} is odd"
   end
end

或者它是无效的 Ruby 代码。

在第一种情况下,第二种end将关闭方法定义,而第一种将关闭if语句。

于 2013-06-02T02:12:47.723 回答
0

应该只有一个端点;

第一行看起来像一个方法的定义

def even_or_odd(val)
  if ...
    ...
  end
end

第二端将关闭定义。

于 2013-06-02T02:13:27.017 回答