elsif语句在Ruby中不起作用?
我刚开始学习ruby,我想知道为什么当我输入150时,它并没有说你的完美。这是我正在编写的代码elsif语句在Ruby中不起作用?,ruby,Ruby,我刚开始学习ruby,我想知道为什么当我输入150时,它并没有说你的完美。这是我正在编写的代码 def prompt print ">> " end puts "welcome to the weight-calc 3000! Enter you weight below!" prompt; weight = Integer(gets.chomp()) if weight > 100 && weight < 3
def prompt
print ">> "
end
puts "welcome to the weight-calc 3000! Enter you weight below!"
prompt; weight = Integer(gets.chomp())
if weight > 100 && weight < 300
puts "your healthy!"
elsif weight > 300
puts "your fat"
elsif weight < 100
puts "your skinny"
elsif weight == 150
puts "your perfect"
end
看看你的第一个条件:
if weight > 100 && weight < 300
当权重为150时,它大于100且小于300,因此第一个条件为真
如果重量=150,则移动到链条顶部。查看您的第一个条件:
if weight > 100 && weight < 300
当权重为150时,它大于100且小于300,因此第一个条件为真
将if weight==150移动到链的顶部。如果weight>100&&weight<300的条件对于值150为真,那么最后一个elsif甚至没有输入
您应该在“通用条件权重>100&&weight<300”之前输入更具体的条件weight==150。如果权重>100&&weight<300,则该条件对于值150为真,因此最后一个elsif甚至没有输入
如果语句是排他性的,则应在通用条件权重>100和权重<300之前放置更具体的条件权重==150。。只有发现条件为true的第一个分支被执行。Else if是不同的,那么if也是不同的。Robby没有任何类型的if内置,但可以添加。if语句是独占的。只有发现条件为true的第一个分支被执行。Else if是不同的,那么if也是不同的。Robby没有任何内置的,但可以添加。