2016-01-21 26 views
-2

我想将两个阵列,regplatesdistance,从speeders内彼此相邻分开,并将它们输出:如何从Ruby中的数组中分离两个数组?

require 'date' 
# Variables and Constants. 
speeders = Array.new 
DISTANCE = 10 
LIMIT = 70 
MINTIME = DISTANCE/LIMIT 

# Recieving input of regplate + Checking if they are speeding. 
def calculations(speeders) 
    puts "Please input your registration plate:" 
    puts "Type 'stop' to stop." 
    loop do 
    regplate = gets.chomp 
    break if regplate == 'stop' 
    now = Time.now 
    time1 = DateTime.strptime("13:22:45","%H:%M:%S") 
    time2 = time1 + (rand(10)/(24.0 * 60)) 
    elapsed_time = time2 - time1 
    if elapsed_time >= MINTIME 
     speeders << [regplate, DISTANCE/elapsed_time.to_f] 
    end 
    end 
return speeders 
end 

# Outputting the speeders with their mph. 
def speeder_output(speeders) 
    speeders.each do |regplate| 
    printf("%s %i",regplate, DISTANCE) 
    end 
end 

speeders = calculations(speeders) 
speeder_output(speeders) 
+3

不要粘贴很长的一段代码。发布陈述您的问题所需的最低限度。 – sawa

+0

对不起,第一次,不知道那是礼仪 - 如果你能回答我的问题,那会很有帮助。 – kt0001

+2

总是开始一个问题,并解释你想达到的目标。如果可能,请包含一个带有输入值的小例子并显示您所需的输出。 (一个变量应该被分配给每个输入,因此读者可以剪切并粘贴,并在答案和注释中引用这些变量。)只有呈现代码并询问为什么它不起作用。当你有时间时,请看[SO faq](http://stackoverflow.com/help)。 –

回答

2

如你认识到的,该阵列是数组的数组。您可以输出子数组的每个元素。

# Outputting the speeders with their mph. 
def speeder_output(speeders) 
    speeders.each do |reg, speed| 
    printf("%s %i",reg, speed) 
    end 
end 
+0

非常感谢:)对不起,格式不对 – kt0001

+0

是的,出色的建议,@CarySwoveland – SteveTurczyn

+2

没有必要在问题或答案中添加说明你“编辑:”或“更新:”的东西。如有需要,我们有能力查看修订版。相反,只需进行更改并在最初放置的位置添加新信息即可。这样想:我们正在编写一本编程问题和解决方案的食谱。如果我们看一本参考书,它会不会充满“编辑”和“更新”? –

相关问题