2012-01-06 7 views
0
내가 지금처럼 .day() 메소드에 약간의 정수를 전달할 필요가 일정 buliding 언제

루비 배열, 해시, 정수

"ice_cube"라는 보석을 사용하고

:

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이 허용되도록 어떻게 배열해야합니까?

답변

4
당신은 아마 (다음 아마도 days 방법의 단일 배열로 결합되는) 별도의 인수로 배열 확장 splat 연산자를 사용할 필요가

:

days = [1,2,3] 

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

그냥 제안 할 것이지만, 변수 이름 앞에 splat을 써서는 안됩니다 : * 일 –

+0

@JakobW Fixed. 내 어리 석음 때문에 금요일 탓할 수 있니? – Pete

+0

나는 그것을 허용 할 것이다 :) 대단히 감사합니다. 나는 이것을 주로 rdoc에서 보았지만 많은 주목을받지 못했다. 너가 그것을 배울 때까지 너는 무언가를 모른다! 고맙습니다! – jBeas

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

귀하의 빠른 응답에 감사를 데이브. 나는 미니멀리즘에 감탄하지만 명백한 이유 때문에 다른 대답을 선택했다. 좋은 주말 되세요, 다시 한번 감사드립니다! – jBeas