如何在ruby上输出,两个输入在一行中

时间:2018-04-06 21:40:14

标签: arrays ruby

我需要输出两个不同的数组(或范围),它们都由gets.chomp获取,其中一个是字符串,另一个必须是整数。但我不想转换或我不想使用zip方法。因为当我连续输出其中一个时,另一个可能反转两次或更多次。

name = $name
num = $num
arr = $arr

puts "num?"
num = gets.chomp.to_i

arr = []
for x in (1..num)
puts "#{x}. name? " #its can be "A" ,"B","C"
name = gets.chomp.to_sym
arr.push (name)
end

for y in (1..100)
  arr.each do |z|
  print y, " " , z, "\n"
  end
end


# i want to outputs like this :
1 A
2 B
3 C
4 A
5 B #reverse time (%5 == 0)
6 A
7 C
8 B
9 A
10 C #reverse time (%5 ==0)
11 A

整数不会随时反转,但字符串必须反转......

感谢您的帮助..

1 个答案:

答案 0 :(得分:0)

您希望将整数Range与您的名称Array配对,然后循环生成的数组Array,而不是使用嵌套循环。在Ruby中,我们可以使用#zip方法执行此操作。此外,因为名称数组可能不会填满整个范围,我们可以#cycle名称数组将其转换为重复的枚举器(否则,在给定的示例中,3到5将与{{1}配对})。

nil