84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
需要得到一个大小写混合的字符串[a,A-Z,z],目前用的方法是
value = ""; 12.times{value << ((rand(2)==1?65:97) + rand(26)).chr}
感觉还是不好,而且再加混合数字的串就不会了。不知道有没有更好的方法,烦请详细指点!
小伙看你根骨奇佳,潜力无限,来学PHP伐。
(0...50).map{ ('a'..'z').to_a[rand(26)] }.join
下面这个效率更高:o = [('a'..'z'),('A'..'Z')].map{|i| i.to_a}.flatten;string = (0...50).map{ o[rand(o.length)] }.join;
o = [('a'..'z'),('A'..'Z')].map{|i| i.to_a}.flatten;string = (0...50).map{ o[rand(o.length)] }.join;
加多一个供楼主选择:rand(36 ** n).to_s(36)n是生成的字符串的长度
rand(36 ** n).to_s(36)
[*('a'..'z'),*('A'..'Z'),*(0..9)].shuffle[0..9].join
(0...50).map{ ('a'..'z').to_a[rand(26)] }.join
下面这个效率更高:
o = [('a'..'z'),('A'..'Z')].map{|i| i.to_a}.flatten;
string = (0...50).map{ o[rand(o.length)] }.join;
加多一个供楼主选择:
rand(36 ** n).to_s(36)
n是生成的字符串的长度
[*('a'..'z'),*('A'..'Z'),*(0..9)].shuffle[0..9].join