代码之家  ›  专栏  ›  技术社区  ›  Ben_hawk

来自另一个键的YAML设置值

  •  6
  • Ben_hawk  · 技术社区  · 13 年前

    如何从另一个键在YAML中设置值,例如:

    example.emails:
         - ben@example.co
         - neb@example.co
         - teb@example.co
    
    swift:
            to_email:   example.emails
    
    2 回复  |  直到 13 年前
        1
  •  2
  •   Shital Shah    6 年前

    公认的答案是错误的。由于应用程序特定的原因,它可能对作者有效,但YAML规范不支持它。在yaml中重用值的正确方法是通过一种叫做锚点的东西,比如

    x1: &my_anchor
      y: 'my val'
    x2:
      <<: *my_anchor
      z: 3
    

    在上面,我们将值标记为 x1 使用锚 my_anchor 。然后是特殊语法 <<: *my_anchor 告诉YAML解析器插入节点的子节点(在本例中 y )在同一级别。所以 x2 现在将有两个孩子: y z .

        2
  •  -1
  •   Ben_hawk    12 年前

    Ohh找到了答案,只是似乎找不到谷歌的好文档:S

    example.emails: 
         - ben@example.co 
         - neb@example.co 
         - teb@example.co 
    
    swift: 
          to_email: "%example.emails%"