0

キーが2つしかないハッシュマップがあります。重要なのは、値が次のようなパターンを持つことです-

"flownamewkf1_somethingwkf2_something.." => 1"

2番目のキーであるvalueには、次のようなパターンがあります-

"some_name" => "group_name"

今、私はこの方法で新しい文字列を作成したいと思います:

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

場合によっては、flownameにwkf名を1つだけ含めることができ、最初のキー、値は次のように"flownamewkf1_something" => 1" なり、文字列は次のようになります。

make-deployment-group --flowname/wkf1_something group_name

したがって、wkfの数に基づいて文字列を動的に生成する必要がありgroup_nameます。フロー名には、最後にを追加し、最初にmake-deployment-groupを追加し、中央にフォルダーとwkfの名前を追加します。

試しstring.partition(/wkf/)ましたが、文字列をflowname、wkf、残りの部分の3つの部分に分割します

助けてください。

4

1 に答える 1

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に取り組むことができます。

于 2012-06-26T17:36:51.997 に答える