如何在ruby中使用yes和no选项创建选择

时间:2015-10-07 08:19:16

标签: ruby

创建一个计算学生费用的Ruby程序 我需要让学生回答问题,例如"你是州居民","想要停车贴纸?"并且代码将根据用户输入执行。

但我在选择是/否选择部分时遇到问题。任何用户输入只会被选择为否。我不知道为什么会发生这种情况。谢谢。

puts "Are you a state resident[0] or not[1]:"
resident = gets
resident = resident.to_i

case resident
    when 0
        enrollment_fee = 46.00
    when 1
        enrollment_fee = 335.00

end

puts "'enrollment_fee' + #{enrollment_fee}"

puts "Want a parking decal? [y/n]:"
parking = gets
parking = parking.to_s

puts parking
if parking == 'y'
    case semester
        when 0,2
            parking_decal = 85
        when 1,3
            parking_decal = 45
        end

else parking == 'n'
    parking_decal = 0.00

结束

1 个答案:

答案 0 :(得分:1)

gets返回用户的输入,包括换行符。因此,输入将与'y''n'不匹配。要在gets之后立即删除跟踪换行符chomp

puts "Want a parking decal? [y/n]:"
parking = gets.chomp

顺便说一下。 else parking == 'n'没有达到您的预期。它是elsif parking == 'n'else