Yaml 歧义;缩进空间和空节点
我写道:
a:
-b
-c
解析器将其理解为:
!!map {
? !!str "a"
: !!seq [
!!str "b",
!!str "c"
]
}
但我的意思是:
!!map {
? !!str "a"
: !!null ""
}
!!seq [
!!str "b",
!!str "c"
]
规范说:
“-”、“?”和“:”字符的使用 表示块集合条目是 被人们认为是其中的一部分 缩进。这是在一个 相关部门根据具体情况 作品。
那么这两种解释都是可以接受的吗?如果没有,您能指出规范中阻止它的部分吗?
取决于“相关产品的具体情况”?什么是“相关产品”?
I wrote:
a:
-b
-c
Parser understood it as:
!!map {
? !!str "a"
: !!seq [
!!str "b",
!!str "c"
]
}
But I meant:
!!map {
? !!str "a"
: !!null ""
}
!!seq [
!!str "b",
!!str "c"
]
The specification says:
The “-”, “?” and “:” characters used
to denote block collection entries are
perceived by people to be part of the
indentation. This is handled on a
case-by-case basis by the relevant
productions.
So both interpretations are permissible? If not, can you point out section in specification which prevents it?
Depending on "case-by-case basis by the relevant productions" ? What are "relevant productions"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
PyYAML 3.11 无法解析您的示例。
http://yaml- online-parser.appspot.com/?yaml=a%3A%0A-b%0A-c&type=json
试试这个:
http://yaml-online-parser.appspot.com/?yaml=a%3A% 0A-+b%0A-+c&type=json
Your example isn't parsable by PyYAML 3.11.
http://yaml-online-parser.appspot.com/?yaml=a%3A%0A-b%0A-c&type=json
Try this:
http://yaml-online-parser.appspot.com/?yaml=a%3A%0A-+b%0A-+c&type=json
试试这个:
Try this: