“ .each做| var |”吗等待其块中的方法完成,然后再进行下一次迭代

时间:2019-04-25 14:37:35

标签: ruby each

我正在尝试设计一个脚本

1)接受用户输入并将其转换为数字数组

2)调用每隔'x'分钟检查一次API的函数,其中x =上面数组中的索引。

我该如何设计,以便“ foreach”不必等待“ waitingMethod”完成就可以重新创建并继续到下一个数组元素和潜在的“ waitingMethod”

理想情况下,用户可以输入[1,5 10],并且3个waitingMethods将同时运行。

def check_freq(string)
  true ? string == "" : false
end

puts "Frequency of check, in minutes"   
STDOUT.flush   
freq = gets.chomp 
freq = freq.split(/\D/)

#this removes any empty space the split(regex) didn't catch cuz' i'm bad at regex
def check_freq(string) 
  true ? string == "" : false 
end

freq.each do |var|   
  check_freq(var) ? freq.delete(var) : waitingMethod(var.to_i) 
end

 def waitingMethod(minutes)
   oldPrice = get_spot_price #api call
   sleep(60 * minutes)
   newPrice = get_spot_price #api call
   (1 - oldPrice.to_f / newPrice.to_f) * 100
 end

0 个答案:

没有答案