使用多个阵列创建计数
我试图按0-9和a-z的顺序创建一个数字和字母列表。我有一个数组数组 value_array = ['0','1','2','3','4','5','6','7','8', ''','a','b','c','d', 'e','f','g','h','i','j','k',' l','m','n','o','p','q','r','s','t','u','v','w', 'x ”,‘Y’,‘Z’]使用多个阵列创建计数
和阵列用于组合的列表中,为了是,这些数字可以产生用于字符的x个,让我们说三
list_array = []
和一个用于当前字母和数字组合的数组(我将把i n要它推到列表阵列之前的字符串]
current_combo [“0”,“0”,“0”]
如何获取值数组数为当前的组合阵列,我可以创建像“ ['0','0','1'] ['0','0','2'] ['0','0','3'] ['0','0','4'] ['0','0','5'] ['0','0','6'] .. .. .. ['a','z','1'] .. .. 并最后到['z','z','z']?
这是我的代码到目前为止。对不起,如果它真的很疯狂。我是一个菜鸟在此:
exponent = test.count('?')
puts 36 ** exponent
possible_characters = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d',
'e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w',
'x','y','z']
list = []
combo = []
end_combo = []
exponent.times do |e|
combo << '0'
end_combo << 'z'
end
puts combo.to_s
while combo != end_combo
end
xs = ("0".."9").to_a + ("a".."z").to_a
xs.product(xs, xs)
# [["0", "0", "0"], ["0", "0", "1"], ..., ["z", "z", "y"], ["z", "z", "z"]]
至于姆拉登指出,使用Ruby 1.9那就更简单了:
(("0".."9").to_a + ("a".."z").to_a).repeated_permutation(3)
ohh。我喜欢Ruby – fl00r 2011-03-23 20:56:32
其实在1.9.2中创建'xs'数组更容易:'[*?0..?9,*?a ..?z]'。 – 2011-03-24 10:53:10
参见http://stackoverflow.com/questions/ 5212884/ruby-generate-all-two-letter-words – 2011-03-23 21:16:28