Ruby Permutation(Builtin)-结果不包含相邻的相同字母。

|| 感谢您昨天的帮助,也感谢您教给我一些新的知识。 :) 我还有一个基于置换的问题...我使用的算法有效,但是我遇到的问题是,生成的列表中缺少相同的相邻字符。 例如,如果我有一个字符列表a-z,0-9,-,并且假设最大长度为2,那么我应该看到aa,bb,cc,dd,ee,ff等。
length = 1
alphabet = [(\'a\'..\'z\').to_a, (\'0\'..\'9\').to_a, (\'-\').to_a].flatten
prefix = \'file-\'
suffix = \'.txt\'


while length < 3


alphabet.permutation(length).each do |x|

@name =  prefix+x.join(\'\').to_s+suffix
puts @name

end

length += 1

end
但是,我只看到以下内容:
file-ba.txt
file-bc.txt
请注意缺少的\“ bb \”,此操作会一直持续到程序完成。 我确定我缺少什么,只是不确定什么?     
已邀请:
        我认为您想使用repeated_permutation而不是置换。 http://www.ruby-doc.org/core/classes/Array.html#M000289 它将生成所有排列,包括\“ file-bb.txt \”。     
        这就是排列。 [1,2,3]的仅6个排列是
123
132
213
231
312
321
    

要回复问题请先登录注册