【发布时间】:2014-04-26 18:33:14
【问题描述】:
这真的很奇怪。当我从 YAML.load_file 和 File.open 加载 YML 文件时,显示相同的文本但数字不同。这是编码问题还是什么?我以前从未见过这种情况。
文件是bank.yml
production:
account_number: 574827192
routing_number: 048372651
旁注:我更改了以下文件中的数字,以免泄露任何实际的私人数据。
UPDATE => 我意识到主要问题是前导零的结果。 YAML 文件中不能有前导零,否则它会变成八进制。试图弄清楚如何构造 YAML 文件以包含前导零。
> irb(main):027:0> YAML.load_file("#{Rails.root}/../../bank.yml")
> => {"production"=>{"account_number"=>574827192, "routing_number"=>847365987}}
> irb(main):028:0> File.open("#{Rails.root}/../../bank.yml").read
> => "production:\n account_number: 574827192\n routing_number: 048372651\n"
【问题讨论】:
-
您没有向我们展示 actual 文本文件中的内容 - 哪个是正确的?
-
啊@Uri Agassi,我已更新以包含该信息
-
这是无效的
YAML,你可以在这里查看:yamltojson.com -
忘记了冒号。现在是正确的。对不起,我没有直接复制,因为它是银行数据
-
如果数字以
0开头并且只包含字符
标签: ruby-on-rails ruby yaml