ruby - 生成随机字符串并保存到文件

标签 ruby file random save

我一直在用 Ruby 编写如此简单的程序,它会生成一个 63 个字符长的随机字符串,然后将其存储在一个文本文件中。 现在我的代码是:

def Password_Generator(length=63)
  chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a
  password = ''
  length.time { |i| password << chars[rand(chars.length)] }
  aFile = File.new("Generated-Password.txt", "w+")
  aFile.write(password)
  aFile.close
end

最佳答案

首先,Password_Generator 在 Ruby 中是一个错误的方法名,因为常量用于类名。此外,Ruby 开发人员更喜欢 snake_case 而不是 camelCase。对于您的实际问题(它是 Ruby 1.9):

def generate_password(length=63)
  chars = [*?a..?z, *?A..?Z, *0..9]
  (1..length).map{ chars.sample }.join
end

我可能会以不同的方法、关注点分离等方式实际写入文件。

关于ruby - 生成随机字符串并保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7986785/

相关文章:

ruby-on-rails - 使用 Ruby 按两个条件对哈希数组进行分组

python - 从文件中删除在 Python 中没有特定单词的行

c++ - ostream::write 或 ostream::operator<< 在什么情况下会失败?

Java如何添加一个排除特定数字的随机生成器?

python - sklearn 随机状态不是随机的

ruby - 如何创建一个方法来检查 string1 是否可以重新排列为等于 string2?

ruby - AES-128-GCM 似乎不检查身份验证

Python - 根据条件读取文本文件中的特定行

java - 如何拥有唯一的学生证

ruby - 如何在 ruby​​ 中使用 httpclient 发送多部分流请求