2012-01-06 178 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