我需要输出两个不同的数组(或范围),它们都由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
整数不会随时反转,但字符串必须反转......
感谢您的帮助..
答案 0 :(得分:0)
您希望将整数Range与您的名称Array配对,然后循环生成的数组Array,而不是使用嵌套循环。在Ruby中,我们可以使用#zip
方法执行此操作。此外,因为名称数组可能不会填满整个范围,我们可以#cycle
名称数组将其转换为重复的枚举器(否则,在给定的示例中,3到5将与{{1}配对})。
nil