我目前正在为“A”生成一个8个字符的伪随机大写字符串。。“Z”:
value=”“;8.乘以{value<;<;(65+rand(25)).chr}
但是它看起来不干净,并且不能作为参数传递,因为它不是一个单独的语句。要获得大小写混合的字符串“a”。。“z”加上“A”。。“Z”,我把它改成:
value=”“;8.乘以{value<;<;((兰特(2)=1?65:97)+兰特(25)).chr}
但它看起来像垃圾
有人有更好的方法吗
(0…8).map{(65+rand(26)).chr}.join
我花太多时间打高尔夫球了
(0…50).map{('a'..'z')。到_a[rand(26)]}。加入
最后一个更令人困惑,但更灵活,浪费更少的周期:
o=[('a'..'z'),('a'..'z')]。映射(&;:到a)。展平
字符串=(0…50).map{o[rand(o.length)]}.join
如果要生成一些随机文本,请使用以下命令:
50.times.map{(0…(rand(10))).map{('a'..'z')。to_a[rand(26)]}.join}.join(";)
此代码生成50个单词长度小于10个字符的随机单词字符串,然后用空格连接