2011-03-26 6 views
1

나는 일반적으로 루비를 공부하고있다. Ruby Rails가 메서드를 검증하는 것과 같은 가변 길이 인수 메서드를 만들고 싶습니다. 그것은 같은 것 :가변 인수와 기호가

my_method(var1, *list) 

그리고 난처럼 호출 할 것입니다 :

my_method(whatever_var, :values => ['1','2','3']) 

지금, 내 질문은, 어떻게되어 있습니다 : 값이 처리? 나는 (레일즈에서) 유효성 검사에서 그것을 볼 수 있지만, 나는 기계공을 정말로 이해하지 못한다. 이제 이것이 배열을 가리키는 상징입니까? 그리고 내 함수 안에서 어떻게 처리해야합니까?

당신은 목록, 문자열, 아무것도 값을 저장할 수있는 마지막 인수로 해시 (인기 루비 관용구)를 사용할 수 있습니다

답변

2

: 거기에서

def my_method(var1, options={}) 
    options[:values] ||= [] 
    options[:names] ||= [] 

    #code 
end 

당신이 호출 할 수

my_method(whatever_arg, :values => ['1', '2', '3', '4'], :names => ['mike']) 
+0

정확히 내가 고맙다 싶었던 것입니다! – Spyros

관련 문제