Arrays 如何返回包含用户输入的数组?
下面的代码将姓名分组(例如,第一个人进入第一组,第二个人进入第二组等) 我想输入最后一段代码,并要求用户输入组的编号。然后打印该组中的人员,每个人用逗号和空格分隔。组号为“1-索引”。这意味着,如果用户输入Arrays 如何返回包含用户输入的数组?,arrays,ruby,while-loop,Arrays,Ruby,While Loop,下面的代码将姓名分组(例如,第一个人进入第一组,第二个人进入第二组等) 我想输入最后一段代码,并要求用户输入组的编号。然后打印该组中的人员,每个人用逗号和空格分隔。组号为“1-索引”。这意味着,如果用户输入1,则应打印第一组,而不是第二组。继续向用户询问(最终)组号,直到用户输入stop puts "How many groups would you like?" group_num = gets.chomp.to_i array = Array.new(group_num) { [] }
1
,则应打印第一组,而不是第二组。继续向用户询问(最终)组号,直到用户输入stop
puts "How many groups would you like?"
group_num = gets.chomp.to_i
array = Array.new(group_num) { [] }
puts "Enter one name at a time"
count = 0
while input_name = gets.chomp
if input_name == "stop"
break
else puts "Give me a name"
array[count] << input_name
count += 1
count = 0 if count == group_num
end
end
array.inspect
显示“您想要多少组?”
group_num=gets.chomp.to_i
array=array.new(group_num){[]}
放入“一次输入一个名称”
计数=0
当输入_name=get.chomp时
如果输入_name==“停止”
打破
else说“给我一个名字”
array[count]给定所需的数组和索引非常简单
array = [["John", "Steve"], ["Judy", "Pete"]]
puts "tell me which group you want with a number"
number = gets.to_i
if (1..array.length).include?(number)
puts "people: #{array[number - 1].join(", ")}"
else
puts "Number element not present"
end
我想这就是你想让你的程序做的?尝试运行它:
array = []
puts "How many groups would you like?"
group_num = gets.chomp.to_i
group_num.times do
puts "\nEnter one name at a time"
a = []
loop do
puts "Give me a name or 'stop' to stop adding names"
input_name = gets.chomp
break if input_name == "stop"
a << input_name
end
array << a
end
array.each_with_index{|a, i| puts "#{i+1}. #{a}" }
puts "select number which group you want"
group = gets.chomp.to_i - 1
puts "you selected group: #{array[group].to_s}"
array=[]
放入“您想要多少组?”
group_num=gets.chomp.to_i
组的次数是多少
将“\n一次输入一个名称”
a=[]
环道
放入“给我一个名字或“停止”以停止添加名字”
input_name=gets.chomp
如果输入_name==“停止”,则中断
a我需要的是从用户请求输入。例如:输入“输入组号”,然后返回新的组名。我知道它应该是相当简单的“得到”…我更新了我的答案。在我看来,你已经知道如何请求输入并获得它。无论如何,我认为您只需要将我的代码粘贴到末尾并删除我的第一行。每个组是否始终只包含两个名称?不,可以根据用户指定的组和名称的数量。最后一段代码只需要请求用户希望看到的组号。其他一切都已在原始代码中实现。那么,您如何知道组何时完成名称输入?我现在有了解决方案,但感谢您的关注。请查看我的答案,这可能会有所帮助。另外,在Stackoverflow上,最好在将第一个答案标记为“已接受”之前留出时间来回答其他可能的问题,因为有很多方法可以解决相同的问题。