Syntax 为什么在YAML解析器中,tab在键/值对中有效?

Syntax 为什么在YAML解析器中,tab在键/值对中有效?,syntax,yaml,Syntax,Yaml,请注意,它是:之后的一个选项卡,我用它来测试它是否有效(依我看它无效): 根据,选项卡(U+0009)和空格(U+0020)都被认为可用于分隔令牌 那么,在这种情况下,是什么让你认为这是非法的呢?特别是考虑到这表明它是有效的: 例6.3。分隔空间 Array ( [t] => test ) (·表示空格(U+0020),而→表示制表符(U+0009))。所以制表符用作定界标记是合法的,但用作缩进是非法的,对吗?请阅读规范。在YAML块样式中,结构是由缩进决定的。一般来说,缩进定义

请注意,它是
之后的一个选项卡,我用它来测试它是否有效(依我看它无效):

根据,选项卡(U+0009)和空格(U+0020)都被认为可用于分隔令牌

那么,在这种情况下,是什么让你认为这是非法的呢?特别是考虑到这表明它是有效的:

例6.3。分隔空间

Array
(
    [t] => test
)

·
表示空格(U+0020),而
表示制表符(U+0009))。

所以制表符用作定界标记是合法的,但用作缩进是非法的,对吗?请阅读规范。在YAML块样式中,结构是由缩进决定的。一般来说,缩进定义为一行开头的零个或多个空格字符。为了保持可移植性,缩进中不能使用制表符,因为不同的系统对制表符的处理不同。请注意,大多数现代编辑器的配置可能会使按下tab键会导致插入适当数量的空格。”–因此,是的,tab键不能用于缩进。但是你在问题中的示例并没有这样使用它。
Array
(
    [t] => test
)
-·foo:→·bar
- -·baz
  -→baz