3

在第七行,我收到警告“条件中的字符串文字”。警告是什么意思,我该如何解决?

   print 'Continue to use calculator?   Y or N'
   userAgree = gets.chomp
   if userAgree == 'Y' or 'y'
        userAgree = true
   else
        userAgree = false
   end
4

4 回答 4

25

改变

if userAgree == 'Y' or 'y'

if userAgree == 'Y' or userAgree == 'y'

或者,在我看来,更清晰更清晰:

if userAgree.upcase() == 'Y'
于 2012-06-05T11:14:07.073 回答
3

您的if条件无效。这个有效。

print 'Continue to use calculator?   Y or N'
userAgree = gets.chomp
if userAgree == 'Y' or userAgree == 'y'
  userAgree = true
else
  userAgree = false
end
于 2012-06-05T11:13:48.250 回答
1

你可以这样做:

    puts 'Continue to use calculator?   Y or N'
    userAgree = gets.chomp
    userAgree.to_s.upcase!

    def Check (ans)

    if ["Y","N"].include?(ans)
        puts"true"
    else
        puts "false"
    end

end

Check userAgree
于 2013-05-03T16:50:50.843 回答
-3

为什么不

if userAgree == ('Y' or 'y')

语法对我来说更具表现力。

于 2012-09-02T16:32:34.970 回答