【发布时间】:2011-09-22 16:54:30
【问题描述】:
我正在尝试获取一个字符串列表,这些字符串是字母、数字和破折号的排列,长度从 1 到 63 不等。
我正在使用排列 gem,并尝试使用 join('') 获取字符串。
length = 1
alphabet = [('a'..'z').to_a, ('0'..'9').to_a, ('-').to_a].flatten
while length < 64
puts (alphabet.permutation(length){|x| p x}).join('')
length += 1
end
我得到的输出如下:
["r", "q", "l"]
["r", "q", "m"]
我确信我在这里遗漏了一些基本的东西。 非常感谢任何帮助。
【问题讨论】:
-
p返回nil,顺便说一句,所以puts (nil).join('')没有任何意义。 -
是的,它确实有效... "file--53.txt" "file--54.txt" 但是,我试图摆脱块中的“p”并分配整个字符串到一个实例变量,然后进入一个数据库。
-
顺便说一句,你没有在这里使用排列宝石:P 这只是 ruby >= 1.8.7
-
哈哈!感谢您的提醒,因此下载排列 gem 和阅读它是浪费时间。
-
回答了我自己的问题...取出块并将其分解为 .each do |x| 等。谢谢大家的帮助。 :)
标签: ruby permutation ruby-1.8