我想要做的是处理n组,而我下面提供的代码恰好适用于4组.
def show_combinations
@combos = []
['A', 'no A'].each do |a|
['B', 'no B'].each do |b|
['C', 'no C'].each do |c|
['D', 'no D'].each do |d|
@combos << [a, b, c, d]
end
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
我如何重构以下代码来处理以下场景:鉴于我有一个大小为y的数组包含大小为n的数组,我想返回所有组合.重要的是要注意每个子数组中只有一个项目可以在结果中.(例如"已完成的配置文件"也不能出现在"未完成配置文件"的结果中)
背景:
用户可能有一些任务:例如,"完成配置文件"或"设置电子邮件"等等.这些任务可以表示如下:
@task_states = [["Completed Profile, NOT Completed Profile"], ["Set up Email", "NOT set up Email"]]
Run Code Online (Sandbox Code Playgroud)
然后,将@task_states传递给方法,结果应为:
[
["Completed Profile", "Set up Email"],
["Completed Profile", "NOT set up Email"],
["NOT Completed Profile", "Set up Email"],
["NOT Completed Profile", "NOT …Run Code Online (Sandbox Code Playgroud)