以下是一个编码示例:
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 语句。请解释。
以下是一个编码示例:
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 语句。请解释。
要么你错过了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
语句。
应该只有一个端点;
第一行看起来像一个方法的定义
def even_or_odd(val)
if ...
...
end
end
第二端将关闭定义。