2012-01-06 203 views
0

我使用了一个名为"ice_cube"红宝石数组,散列,整数

宝石当栋的时间表,我需要一些整数通入。天()方法,像这样:

schedule.add_recurrence_rule IceCube::Rule.weekly(1).day(1,2,3) 

当我这样做这直接,它的工作原理。然而,当我试图通过一个包含整数到。天变()方法是我迷路。

尝试这样做:

days = [1,2,3] 

schedule.add_recurrence_rule IceCube::Rule.weekly(1).day(days) 

这是行不通的。的错误,我得到的是...

NoMethodError (undefined method `<' for [1, 2, 3]:Array): 

我在做一个很明显的错误?

我应该怎么格式化我的变量days,使其被接受?

回答

4

您可能需要使用splat运营商展开数组为单独的参数(然后得到可能组合成的days方法单一阵列):

days = [1,2,3] 

schedule.add_recurrence_rule IceCube::Rule.weekly(self.every.to_i).day(*days) 
+0

正是我正要建议,但不应该在图示是这样的变量名前:*天 – 2012-01-06 21:07:38

+0

@JakobW固定。星期五我可以责怪我自己的愚蠢吗? – Pete 2012-01-06 21:08:39

+0

我会允许它:)非常感谢你。我已经看到了这一点,主要是在rdoc的,但从未关注过它。直到你学会它,你才会知道!谢谢! – jBeas 2012-01-06 21:19:11

0
schedule.add_recurrence_rule IceCube::Rule.weekly(1).day(*days) 
+0

谢谢你的快速反应戴夫。我很欣赏极简主义,但由于显而易见的原因选择了其他答案。周末愉快,再次感谢! – jBeas 2012-01-06 21:21:17