Ruby数组操作(Ruby 1.8和Rails 2.2)

Mik*_*ike 2 ruby ruby-on-rails

我无可救药地试图编写一个方法来操作ruby中的数组.我正在尝试生成一个数组的所有有序排列,其中每个项目又被外部项目替换.一个例子...

给定输入:

arr = ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

期望的输出:

newArr = [ ["a", "b", "c"], ["a", "b", "*"], ["a", "*", "c"], ["a", "*", "*"], ["*", "b", "c"], ["*", "b", "*"], ["*", "*", "c"], ["*", "*", "*"] ]
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.谢谢!

gle*_*ald 8

我也不理解您的示例顺序,但忽略了这一点,这是一行中的解决方案:

(0...(2**a.size)).map {|x| (0...a.size).map {|y| x & 2**y == 0 ? a[y] : val}}
Run Code Online (Sandbox Code Playgroud)