2012-06-26 3 views
0

두 개의 키만있는 해시 맵이 있습니다.레일에서 루비에서 문자열을 동적으로 구문 분석합니다.

:

"some_name" => "group_name" 

지금 내가 이런 식으로 새로운 캐릭터를 만들 - 값은이 같은 패턴이,

"flownamewkf1_somethingwkf2_something.." => 1" 

두 번째 키 - 한 키, 값은이 같은 패턴을 가지고있다

make-deployment-group --flowname/wkf1_something --flowname/wkf2_something group_name 

가끔 flowname은 wkf 이름을 하나만 가질 수 있으며 첫 번째 키 값은 "flownamewkf1_something" => 1"이고 문자열은

이어야합니다.
make-deployment-group --flowname/wkf1_something group_name 

그래서, 동적으로 WKF의 수에 따라 문자열을 생성 할 필요는 flowname 가지고 있으며, 마지막에 group_name을 추가하게 배포 그룹을 시작하고 폴더에서와 이름 WKF 중간

나는 string.partition(/wkf/) 시도하지만 분할은 세 부분으로 문자열, WKF,

이 도와주세요 부분의 나머지 부분을 flowname.

답변

0

나는 당신이 무엇을 요구하고 있는지 완전히 모릅니다. 하지만 어쩌면 이걸 가져 가서 실행할 수 있습니다.

1.8.7 :049 > flowname, *wkf = "flownamewkf1_somethingwkf2_something".split(/wkf/) 
=> ["flowname", "1_something", "2_something"] 
1.8.7 :050 > params = wkf.collect{|w| "--#{flowname}/wkf#{w}"} 
=> ["--flowname/wkf1_something", "--flowname/wkf2_something"] 
1.8.7 :052 > "make-deployment-group #{params.join(' ')}" 
=> "make-deployment-group --flowname/wkf_something--flowname/wkf_something" 

그런 다음 해당 group_name을 압정 수 있습니다.

+0

정확하게 원했던 방식으로 작동했습니다. 정말 고맙습니다 – user1455116