所以我很好奇我在这里失踪了什么。我有一个学校的程序,部分程序要求我测量输入字符串的长度。我将它列为"如果String == 6"您可以在下面的代码中看到。我的教授宁愿将它存储在一个变量中,并且我使用.length方法来测量它。他的确切字词如下,"要查看票号是否大于六个字符,您需要将其存储在变量中。然后,在第19行,您可以使用ticket.length == 6来检查它。"
我尝试使用他的方法,我把" ticket_number.length == 6。"但是会返回错误。我不知道为什么,不是" ticket_number"需要测量的变量?或者我是否需要为票证长度创建另一个变量?我确定有一个简单的答案,我似乎无法找到它。在此先感谢您的帮助!
{{1}}
答案 0 :(得分:3)
这里有几个问题,但最大的问题是转换为整数意味着你已经失去了测试与长度的机会:
ticket_number = gets.chomp
if (ticket_number.length != 6)
puts "Your ticket number must be six digits"
next
end
您可以在事后转换:
ticket_number = ticket_number.to_i
然后做你的数学。
理想情况下,您可以将其包装在一个函数中,根据有效性,给定票号后,该函数将返回true
或false
。这将它与显示和循环逻辑分离,简化了事情。