0
我想要生成看起來像ABCD
和AABC
的四位數字(從0000
到9999
)。 因此,例如模式ABCD
將有號碼,如根據模式生成數字
0123
,0124
,0125
,0126
,0127
,0128
,0129
等。
模式AABC,如:
0012
,0013
,0014
,0015
,0016
等
我想要生成看起來像ABCD
和AABC
的四位數字(從0000
到9999
)。 因此,例如模式ABCD
將有號碼,如根據模式生成數字
0123
,0124
,0125
,0126
,0127
,0128
,0129
等。
模式AABC,如:
0012
,0013
,0014
,0015
,0016
等
(0..9).to_a.permutation(4).map{|a, b, c, d| [a, b, c, d].join}
(0..9).to_a.permutation(3).map{|a, b, c| [a, a, b, c].join}
或者
(0..9).to_a.permutation(4).map{|a, b, c, d| "#{a}#{b}#{c}#{d}"}
(0..9).to_a.permutation(3).map{|a, b, c| "#{a}#{a}#{b}#{c}"}
這是一個很好的方式!謝謝 –
你能提供一些代碼示例來理解你的做法? – Rubyist
不知道你需要什麼。一個發生器具有相等的概率來產生每個字符串,或者只是生成它們全部? – halfelf
我繼續生成ABCD的示例代碼。 ('0000'..'9999')。each {| x | X如果x =〜/^(?!.*(.).*\1)\d{4}$/} ,我期待生成所有這些(導致陣列) –