如何修复此代码,使其以小写形式生成唯一的随机字母和数字?

api_string = (0...32).map{65.+(rand(25)).chr}.join    

目前,它只生成字母.

推荐答案

如果您使用的是ruby 1.9.2,则可以使用SecureRandom:

irb(main):001:0> require 'securerandom'
=> true
irb(main):002:0> SecureRandom.hex(13)
=> "5bbf194bcf8740ae8c9ce49e97"
irb(main):003:0> SecureRandom.hex(15)
=> "d2413503a9618bacfdb1745eafdb0f"
irb(main):004:0> SecureRandom.hex(32)
=> "432e0a359bbf3669e6da610d57ea5d0cd9e2fceb93e7f7989305d89e31073690"

Ruby相关问答推荐

PDFNet:Ubuntu 16.04 和 Ubuntu 20.04 上 PDF 输出文本的词序不同

Ruby open-uri 重定向被禁止

有没有一种简单的方法可以在 Ruby 中获取图像尺寸?

Symfony 2assets资源过滤器异常中的指南针

将块传递给方法传递给Ruby中的另一个方法

Rspec: expectvsexpect什么区别?

Ruby 对象打印为指针

如何在 VIM 中导航 Ruby 方法?

将 2 元素数组的数组转换为哈希,其中重复键附加附加值

如何在运行时判断 Ruby 中的 Gem 版本?

将 Ruby 哈希转换为 YAML

用零填充数字

对于基于 GitHub 的 gem,强制Bundle 安装使用 https:// 而不是 git://

Ruby 的所有/最佳列表?

在 ruby​​ 的超类中调用另一个方法

什么是 Rakefile?

检索/列出 Redis 数据库中的所有键/值对

正则表达式中的 `?i` 和 `?-i` 是什么意思?

通过多个分隔符拆分字符串

Ruby:如何在不指向同一个对象的情况下复制变量?