1

私はルビーを学ぶのが初めてで、なぜ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 < 300     
   puts "your healthy!" 
 elsif weight > 300     
   puts "your fat" 
 elsif weight < 100  
   puts "your skinny"  
 elsif weight == 150     
   puts "your perfect" 
 end  
4

2 に答える 2

7

条件if weight > 100 && weight < 300truevalue150のためのものなので、最後elsifも入力されていません。

weight == 150一般的な条件 ( ) の前に、より具体的な条件 ( ) を配置する必要がありますweight > 100 && weight < 300

于 2012-09-10T18:57:15.257 に答える
2

最初の条件を見てください:

if weight > 100 && weight < 300

weightがの場合150> 100および< 300であるため、最初の条件は真です。

if weight == 150チェーンの先頭に移動します。

于 2012-09-10T18:57:05.473 に答える