【发布时间】:2015-11-18 20:17:29
【问题描述】:
我有一个这样的字符串数组:
[
"productRankingOct12:LessPopularityEPC",
"productRankingOct12:CtrEpcJob",
"productRankingOct12:DeviceSpecificLPE",
"guidedSearch:false",
"guidedSearch:true",
"spotfront4:true",
"spotfront4:false",
"postClick4:ipsa",
"postClick4:false",
"trendingModule:false"
]
我必须根据给定的键值对构建 URL。我想要元素的组合:
[
"productRankingOct12:LessPopularityEPC",
"productRankingOct12:CtrEpcJob",
"productRankingOct12:DeviceSpecificLPE",
"guidedSearch:false",
"guidedSearch:true",
"productRankingOct12:LessPopularityEPC & guidedSearch:false"
"productRankingOct12:CtrEpcJob & guidedSearch:false"
"productRankingOct12:DeviceSpecificLPE & guidedSearch:false"
"productRankingOct12:LessPopularityEPC & guidedSearch:true"
"productRankingOct12:CtrEpcJob & guidedSearch:true"
"productRankingOct12:DeviceSpecificLPE & guidedSearch:true"
"productRankingOct12:LessPopularityEPC & guidedSearch:false & spotfront4:true"
"productRankingOct12:CtrEpcJob & guidedSearch:false & "spotfront4:true""
"productRankingOct12:DeviceSpecificLPE & guidedSearch:false & "spotfront4:true""
"productRankingOct12:LessPopularityEPC & guidedSearch:true & "spotfront4:true""
]
我尝试使用这个来生成排列:
def Automate_AB_tests.permutation(arg_keyVal)
return [arg_keyVal] if arg_keyVal.size < 2
ch = arg_keyVal[0]
permutation(arg_keyVal[1..-1]).each_with_object([]) do |perm,result|
(0..perm.size).each {|i| result << perm.dup.insert(i,ch)}
end
end
但它似乎正在占用所有元素,并且崩溃了。我不想置换所有元素。我想要上述所需的输出。请任何人都可以帮助我。
【问题讨论】:
标签: ruby recursion combinations