1

yaml にカテゴリの階層があります。値はなく、キーのみです。繰り返しノードを作成するにはどうすればよいですか? たとえば、カテゴリとカテゴリのApps両方が必要です。通常、次の例のように、繰り返されるノードは値として示されます。EntertainmentTech

hr:
  - Mark McGwire
  # Following node labeled SS
  - &SS Sammy Sosa
rbi:
  - *SS # Subsequent occurrence
  - Ken Griffey

しかし、私の場合、値ではなくキーしかありません。私は次のことを試しましたが、 を使用して python にロードすると、 への参照用にpyyaml含まれる辞書を取得しました。App: NoneApp

Entertainment:
    Music:
        Country:
        Hip hop:
        Pop:
        Rock:
        Alternative:
    &Apps Apps:
        Games:
        Productivity:
        Travel:
        Finance:
        Lifestyle:
Goods:
    Tech:
        Visual:
            Projectors:
            TVs:
        Phones:
            Smart phones:
            Feature phones:
        *Apps:
4

1 に答える 1

1

AFAIK アンカーはノード (つまり、データ、シーケンス、およびマッピング) に適用できますが、必ずしもノード内のキーには適用できません。したがって、Appsキーを固定することはできませんが、Apps含まれるマッピングは公正なゲームです。これは私のために働く:

Entertainment:
    Music:
        Country:
        Western:
    Apps: &AppsKeys
        Games:
        Travel:
Goods:
    Tech:
        Visual:
        Phones:
        Apps: *AppsKeys

Appsキーワードの使用は少し冗長だと思います。私が知らない個々のキーにアンカーを適用する方法もあるかもしれません。しかし、それは基本的な単位 (別名ノード) を表していないため、それは不可能だと思います。

于 2013-09-05T05:16:52.097 に答える