Это старая версия документа.
Приемы при составлении yaml-описаний
Online parser
Группировка
Довольно часто может потребоваться описать несколько наборов параметров с небольшими, либо отсутствующими различиями, например:
module.ser: - portnum: 1 sysname: /dev/ttyMXUSB0 baud: 9600 databits: 8 parity: 0 stopbits: 1 timeout: 200 - portnum: 2 sysname: /dev/ttyMXUSB1 baud: 9600 databits: 8 parity: 0 stopbits: 1 timeout: 200
Как видно, отличия лишь в двух параметрах - portnum
и sysname
. В следующем примере мы вынесем общие параметры в отдельную группу:
group: &group baud: 9600 databits: 8 parity: 0 stopbits: 1 timeout: 200 module.ser: - portnum: 1 sysname: /dev/ttyMXUSB0 <<: *group - portnum: 2 sysname: /dev/ttyMXUSB1 <<: *group
Теперь, если потребуется изменить параметр baud
сразу всем, достаточно будет изменить его в группе. В тоже время параметры можно указывать явно, чтобы перекрыть значение, установленное в группе, например:
group: &group baud: 9600 databits: 8 parity: 0 stopbits: 1 timeout: 200 module.ser: - portnum: 1 sysname: /dev/ttyMXUSB0 <<: *group - portnum: 2 sysname: /dev/ttyMXUSB1 baud: 115200 <<: *group
Группа обязательно должна располагаться выше места ее использования.