我正在使用一个名为"ice_cube"
的gem
当构建时间表时,我需要将一些整数传递到.day()方法中,如下所示:
schedule.add_recurrence_rule IceCube::Rule.weekly(1).day(1,2,3)
当我直接这样做的时候,它是有效的。然而,当我试图将包含整数的变量传递到.day()方法时,我会迷失方向。
试过这个:
days = [1,2,3]
schedule.add_recurrence_rule IceCube::Rule.weekly(1).day(days)
它不起作用。我得到的错误是…
NoMethodError (undefined method `<' for [1, 2, 3]:Array):
我是不是犯了一个很明显的错误?
我应该如何格式化我的变量days
以便它被接受?
您可能需要使用splat
运算符将数组扩展为单独的参数(然后可能在days
方法中将其组合为单个数组):
days = [1,2,3]
schedule.add_recurrence_rule IceCube::Rule.weekly(self.every.to_i).day(*days)
schedule.add_recurrence_rule IceCube::Rule.weekly(1).day(*days)