当前位置: 首页 > 知识库问答 >
问题:

如何用yaml CPP打印同行的2个减号的2D列表?

樊宏邈
2023-03-14

我想使用yaml-cpp创建以下Yaml:

  steps:
    - - name: flip-coin
        template: flip-coin
    - - name: heads
        template: heads
        when: "{{steps.flip-coin.outputs.result}} == heads"
      - name: tails
        template: tails
        when: "{{steps.flip-coin.outputs.result}} == tails"

但我不能在同一行上打印减号。这就是我得到的:

  steps:
    -
      - name: flip-coin
        template: flip-coin
    -
      - name: heads
        template: heads
        when: "{{steps.flip-coin.outputs.result}} == heads"
      - name: tails
        template: tails
        when: "{{steps.flip-coin.outputs.result}} == tails"

我的密码是

    YAML::Node node;
    node["steps"][0][0]["name"]="flip-coin";
    node["steps"][0][0]["template"]="flip-coin";

    node["steps"][1][0]["name"]="heads";
    node["steps"][1][0]["template"]="heads";
    node["steps"][1][0]["when"]="{{steps.flip-coin.outputs.result}} == heads";

    node["steps"][1][1]["name"]="tails";
    node["steps"][1][1]["template"]="tails";
    node["steps"][1][1]["when"]="{{steps.flip-coin.outputs.result}} == tails";

    YAML::Emitter out;
    out << node;
    std::cout << out.c_str();

共有1个答案

汪庆
2023-03-14

现有的操作器不包含任何可以使您配置紧凑的内联序列表示法的内容,所以我非常肯定这是不可能的。

通常,YAML的设计不是为了逐个字符地微调输出的外观。另见本相关问题。间距信息是演示文稿的详细信息,不存在于数据中。因此,您的数据将按照实现认为合适的方式呈现,除了可用的操作器外,您无法对其进行任何操作。

 类似资料:
  • 问题内容: 是否有一种简单的内置方法将2D Python列表打印为2D矩阵? 所以这: 会变成像 我找到了pprint模块,但是它似乎并没有实现我想要的功能。 问题答案: 为了使事情变得有趣,让我们尝试使用更大的矩阵: 输出: UPD:对于多行单元格,应如下所示: 然后应用上面的代码。 另请参见http://pypi.python.org/pypi/texttable

  • 我试图打印我的所有4行在我的应用程序中保持得分,我目前只是让它打印我的数组的所有索引。有没有更干净的方法打印出一行索引?

  • 问题内容: 我在Python中有一个列表 我想在没有正常的“ []的情况下在单行中打印数组 将给出的输出为; 那不是我想要的格式,而是我希望它像这样; 注意:它必须在一行中。 问题答案: 听起来很简单,它只接受列表中的所有元素,然后将它们加入。

  • 问题内容: 我在Python中有一个列表 我想在没有正常的“ []的情况下在一行中打印数组 将给出的输出为; 那不是我想要的格式,而是我希望它像这样; 注意:它必须在一行中。 问题答案: 听起来,这只是获取列表中的所有元素,然后将它们加入。

  • 我正在尝试编写一个程序,打印一个2d数组,其中包含100-10000范围内的随机数,并打印出数组中的最大值、平均值和最小值。该程序将询问用户行数和列数,并在该数组中打印随机数。 这是我的代码:

  • 问题内容: 我有一列。我想打印用户单击的行的行号。我不确定从哪里开始。有办法吗? 问题答案: 您可以在NSTableView委托的方法中使用tableView中的属性。 在此示例中,tableView允许多项选择。 迅捷3 迅捷2