1
我試圖用yaml來表示一個有站和線的火車網絡;一個最小工作示例可能是3個工作站,線性連接,因此A<->B<->C
。我代表如下三個站:yaml中的圓形定義
---
stations:
- A
- B
- C
現在我想存儲在網絡上不同的線路,並在那裏開始/結束。要做到這一點,我添加了一個線陣列和一些錨,如下:
---
stations:
- &S-A A
- &S-B B
- &S-C C
lines:
- &L-A2C A to C:
from: *S-A
to: *S-C
- &L-C2A C to A:
from: *S-C
to: *S-A
,這裏是我遇到的麻煩的一部分:我想存儲的下一站在每個車站的每一行。理想的情況是這樣的:
---
stations:
- &S-A A:
next:
- *L-A2C: *S-B
- &S-B B:
next:
- *L-A2C: *S-C
- *L-C2A: *S-A
- &S-C C:
next:
- *L-C2A: *S-B
(在lines
陣列保持不變)
但這種失敗 - 至少在Python YAML庫,說yaml.composer.ComposerError: found undefined alias 'L-A2C'
。我知道這是爲什麼 - 這是因爲我還沒有定義這條線。但我不能首先定義線路,因爲它們取決於電臺,但現在電臺取決於線路。
有沒有更好的實現方法?
謝謝!我想我必須這樣做,儘管它並不完美。這是YAML庫或規格本身的缺點嗎? – jackweirdy 2013-02-23 23:32:05