我正在尝试获取字符串数组["-", "+", "*"]
并找出给定大小的所有组合。这可以通过执行以下操作来实现:
arr = ["-", "+", "*"]
perms = arr.permutation(2).to_a
# => [["-", "+"], ["-", "*"], ["+", "-"], ["+", "*"], ["*", "-"], ["*", "+"]]
但是,我想获得比给定数组更大的数组的结果。例如,arr.permutations(4).to_arr
。这可能吗?
答案 0 :(得分:4)
是的,这是可能的。
perms = arr.repeated_permutation(4).to_a
答案 1 :(得分:0)
不,不是通过任何内置的库或统计方法。
组合和置换方法实现标准概率论函数。也就是说,"一次采取B的事情。"您无法使用这些标准方法创建组合或排列以获取更多"事物"比你实际拥有的还要多。