将元素推送到ruby中的现有数组

时间:2015-10-10 04:32:11

标签: arrays ruby

我遇到了一个我不知道如何解决的问题:

我有这个代码,几乎要求用户提供日期。我遇到的问题是,无论何时用户放置新日期,我都无法使数组将var limit作为元素。只要方法'new_date'结束,数组就会重置。

以下是代码:

def new_date 
  puts "Date please: "
  date1 = $stdin.gets.chomp
  d, m, y = date1.split('-').map{|x| x.to_i}
  limit = day_of_week(d, m, y)
  puts days_of_the_week[limit]
  $various_dates = []
  $various_dates.push(limit)
end

1 个答案:

答案 0 :(得分:1)

您不应重置日期数组:

$various_dates = []

相反,做一些事情:

$various_dates ||= []

这样做,是它获取全局变量$various_dates,但如果它尚未初始化(这意味着它是nil),它将被设置为空数组。