为什么yaml.dump要给这个键值对加引号
我正在尝试向 Rails database.yml 写入一个新条目,由于某种原因,我在该条目周围收到了引号
db_yml => {'new_env' =>; {'数据库' => '数据库名称', '<<' => '*默认' }} File.open("#{RAILS_ROOT}/config/database.yml", "a") {|f| YAML.dump(db_yml, f)}
返回
---
new_env:
database: database_name
"<<": "*defaults"
我不知道为什么返回“---”和默认值周围的引号,关于如何防止的任何想法?
谢谢!
I'm trying to write a new entry to a rails database.yml and for some reason I'm getting quotes around this entry
db_yml => {'new_env' => {'database' => 'database_name', '<<' => '*defaults' }}
File.open("#{RAILS_ROOT}/config/database.yml", "a") {|f| YAML.dump(db_yml, f)}
returns
---
new_env:
database: database_name
"<<": "*defaults"
I don't know why the "---" and the quotes around the defaults are returned, any thoughts on how to prevent?
thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
<<和 * 在 YAML 中具有特殊含义。
引号用于表明 <<不是 合并 并且 * 不是 别名。
<< and * have special meaning in YAML.
Quotes are used to show that << is not merge and * is not an alias.
--- 只是标记 YAML 转储的开始。
<<
周围的双引号是因为可以用 YAML 格式解释。所以这是逃避。the --- is just to mark the start of YAML dump.
The double quote around
<<
it's because can be interpretate in YAML format. So it's escape.