我正在为"A"生成一个8个字符的伪随机大写字符串."Z":
value = ""; 8.times{value << (65 + rand(25)).chr}
Run Code Online (Sandbox Code Playgroud)
但它看起来并不干净,并且它不能作为参数传递,因为它不是单个语句.要获得一个混合大小写的字符串"a".."z"加上"A".."Z",我将其更改为:
value = ""; 8.times{value << ((rand(2)==1?65:97) + rand(25)).chr}
Run Code Online (Sandbox Code Playgroud)
但它看起来像垃圾.
有没有人有更好的方法?
在我正在开发的Ruby on Rails应用程序中,我允许用户上传文件,并希望为这些文件提供一个简短的随机字母数字名称.(例如'g7jf8'或'3bp76').做这个的最好方式是什么?
我想从原始文件名和时间戳生成哈希/加密字符串.然后查询数据库以仔细检查它不存在.如果是,请生成另一个并重复.
我用这种方法看到的问题是,如果重复字符串有很高的可用性,它可能会增加很多数据库负载.
我想生成一个完全随机的"唯一"(我将确保使用我的模型)给定的标识符(长度可能不同)长度包含数字,字母和特殊字符
例如:
161551960578281|2.AQAIPhEcKsDLOVJZ.3600.1310065200.0-514191032|
Run Code Online (Sandbox Code Playgroud)
有人可以建议在Ruby on Rails中最有效的方法吗?
编辑:重要提示: 如果可能,请评论您提出的解决方案的效率,因为每次用户进入网站时都会使用此解决方案!
谢谢