【发布时间】:2016-08-24 13:52:39
【问题描述】:
我对 ruby 还很陌生,这是我在 stackoverflow 上的第一个问题,如果我是一个完全的菜鸟,请原谅我。
我正在使用的代码包含这一行 -
puts (6..6).flat_map{|n| ('a'..'z').to_a.combination(n).map(&:join)}
代码的作用是它开始打印从“abcdef”开始的每个组合并一直持续到最后(我从未见过,因为它有 26^6 个组合)。
当然,拥有这样大小 (26^6) 的数组是不可想象的,因此我想知道是否有任何方法可以让我在变量中获得下一个组合,使用它,然后继续下一个组合?
例如,我将第一个组合计算为“abcdef”并将其存储在变量“combo”中并在某处使用该变量,然后计算下一个组合并将“abcdeg”存储在“组合”中,因此循环继续?
谢谢
【问题讨论】:
-
为什么这被否决了?
标签: ruby maps combinations