Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何返回包含用户输入的数组?_Arrays_Ruby_While Loop - Fatal编程技术网

Arrays 如何返回包含用户输入的数组?

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-索引”。这意味着,如果用户输入
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上,最好在将第一个答案标记为“已接受”之前留出时间来回答其他可能的问题,因为有很多方法可以解决相同的问题。