【发布时间】:2019-03-19 22:24:42
【问题描述】:
附加代码需要能够检查输入的数字是否在数组中,如果为真则运行,如果为假则返回消息。
accounts = [5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 8080152, 4562555, 5552012, 5050552, 7825877, 1250255,
1005231, 6545231, 3852085, 7576651, 7881200, 4581002,]
puts "What is your account number?"
my_account = gets.to_i
for v in (my_account)
if v ==(my_account)
puts "Welcome to your account"
end
end
【问题讨论】:
-
5658845 的未定义方法“每个”:不断发生的整数错误
-
您需要确认
gets.chomp是自然数(非负整数)的字符串表示形式。例如,如果gets => "cat\n"、my_account = gets.to_i #=> 0并且您将愉快地检查accounts是否包含零。请参阅String#to_i 以了解为什么"cats\n".to_i #=> 0。您可以使用正则表达式进行检查。如果它应该是一个自然数,gets.chomp =~ /\D/是true如果gets.chomp包含一个数字以外的字符,那么你需要!(gets.chomp =~ /\D/)或gets.chomp !~ /\D/)。