2009-04-05 8 views
7

내가 특정 문자열로 시작하는 루비의 모든 변수를 찾을 수있는 방법이 있나요? 예를 들어 , 내 루비 프로그램에서 다음 변수를 한 :루비에서 모든 변수를 얻을 수있는 방법이 있나요?

ret_d = 1 
ret_d2 = 23 

["ret_d","ret_d2"]을 반환하는 기능이 있습니까? 문제는 모든 변수 집합이 없다는 것입니다. 그들은 지역 변수라면

답변

15

Kernel#local_variables 트릭을 할해야합니다.

>> ret_d = 1 
=> 1 
>> ret_d2 = 23 
=> 23 
>> local_variables 
=> ["_", "ret_d", "ret_d2"] 
>> local_variables.select{|v|v=~/^ret_/} 
=> ["ret_d", "ret_d2"] 
5

, 당신은 local_variables를 사용할 수 있습니다. 그러나 이것은 가난한 사람의 배열처럼 들립니다. 실제 Array를 사용할 수도 있습니다.

+0

신난다. 감사. –

관련 문제