0

所以我有一个文件,在从用户那里获取用户名、密码和角色以添加到该文件后,我试图写入该文件。一切似乎都运行良好,但是当我打开文件进行写入并输入 puts 命令时,它会在密码部分之后创建一个新行。这是代码片段。

File.open("user.file", "a") do |file|
  file.puts "#{userName}=#{passwordEncoded},#{role},enabled"

这是我之后在文件本身中得到的

danny=ieSV55Qc+eQOaYDRSha/AjzNTJE=
,ROLE,enabled

它可能与编码密码末尾的 = 有关,但我不确定。密码总是以相同的大小结束,所以这可能会导致问题吗?但我不确定这里。

4

2 回答 2

4

您的passwordEncoded变量以换行符结尾。变量的实际内容将是

"ieSV55Qc+eQOaYDRSha/AjzNTJE=\n"

您的代码没有问题。它的行为完全符合预期。

于 2012-08-20T03:54:09.983 回答
2

添加对变量的chomp调用以passwordEncoded删除换行符:

File.open("user.file", "a") do |file|
  file.puts "#{userName}=#{passwordEncoded.chomp},#{role},enabled"
于 2012-08-20T05:00:24.550 回答