gpt4 book ai didi

ruby - 条件语句只接受整数作为输入 Ruby

转载 作者:太空宇宙 更新时间:2023-11-03 16:40:17 24 4
gpt4 key购买 nike

我写了一段代码,它向多个人提问,每个人的回答都被放入一个散列中。这是一个循环,看起来像这样

arr:[]
(1..n).each do |i|

hash=Hash.new()

puts "Please input a value for day # #{i}"
hash["day1"]=gets.chomp.to_f

puts "Please input a value for day # #{i}"
hash["day2"]=gets.chomp.to_f

arr << hash
end

因此,为了避免任何不正确的输入(即输入字符串而不是整数/数字),我需要放置一个条件语句。尽管我在获取用户输入的同时将用户的输入分配到散列中,但我对我将如何做到这一点感到非常迷茫。甚至可以这样做,还是我应该完全走另一条路。

谢谢

最佳答案

您可以获得如下所示的日期值。当输入数字以外的字符时,它会再次询问当天的值。

puts 'Enter number of days'
days_hash = {}
number_of_days = gets.chomp.to_i
day = 1

while day <= number_of_days
puts "Please enter a value for day # #{day}"
input = gets.chomp
if input !~ /\D/
days_hash["day#{day}"] = input.to_i
day += 1
else
puts "Please enter only number"
next
end
end

p days_hash
#=> { "day1" => 2, "day2" => 4, "day3" => 8 }
days_hash['day2']
#=> 4

关于ruby - 条件语句只接受整数作为输入 Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58549127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com