2015-10-10 37 views
0

我有一个问题,我不知道如何解决:将元素推送到ruby中的现有数组

我有这个代码,几乎要求用户的日期。我遇到的问题是,无论用户何时放置新日期,我都无法让数组将var变量作为一个元素。只要方法'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 
+0

是的,它是红宝石,但你能修理你的缩进吗? – styvane

+0

为什么在第7行最后一行重新初始化'$ various_dates'? – Aetherus

+0

好的,我编辑它。我尝试了几行“$ various_dates”来进行测试,但都没有成功。他们现在走了。 – ClauCece

回答

1

你不应该重置您的日期排列:

$various_dates = [] 

相反,这样做:

$various_dates ||= [] 

这里做的事情,它是否获得全局变量$various_dates,但是如果它没有被初始化(这意味着它是零),它会被设置为一个空数组。

+0

这就是它!非常感谢! :) – ClauCece

相关问题