我无可救药地试图编写一个方法来操作ruby中的数组.我正在尝试生成一个数组的所有有序排列,其中每个项目又被外部项目替换.一个例子...
给定输入:
arr = ["a", "b", "c"]
期望的输出:
newArr = [ ["a", "b", "c"], ["a", "b", "*"], ["a", "*", "c"], ["a", "*", "*"], ["*", "b", "c"], ["*", "b", "*"], ["*", "*", "c"], ["*", "*", "*"] ]
任何帮助将不胜感激.谢谢!
我也不理解您的示例顺序,但忽略了这一点,这是一行中的解决方案:
(0...(2**a.size)).map {|x| (0...a.size).map {|y| x & 2**y == 0 ? a[y] : val}}