Yaml gotcha's,在Yaml存储某些类型的字符有什么问题吗?

时间:2011-03-12 20:40:13

标签: ruby-on-rails yaml

我对yaml很新,我只是想知道我能做什么,不能在yaml中存储明智的字符?

双引号等的转义字符是什么?

我可以跨越多行吗?

1 个答案:

答案 0 :(得分:2)

基本上,您可以存储所有内容。引号不是问题,您可以在不带引号的情况下键入文本(对于不能随意合并的非可打印字符,有通常的转义序列)。这意味着纯粹的数字文本被认为是一个数字,但是再次,您可以添加引号或显式类型注释(我假设大多数库在必要时执行此操作),例如!!str 100。此外,如果要包含评论标记(#),则必须添加引号。

另一个问题是某些字符串可能看起来更复杂的YAML(例如,感叹号的某些用法看起来像强制转换,冒号的某些用法看起来像单例关联表)。您可以通过使用仅包含单行的“多行”字符串来避免这些。存在多行字符串,有两种形式,保留换行符(--- |)并忽略除了空行(--- >之外的换行符,就像降价一样)。