Выполнение арифметической операции в YAML?
иногда мне нужно указать время( в секундах) в файле конфигурации, и это довольно раздражает, чтобы написать точное количество секунд - вместо этого я хотел бы выполнить арифметику, чтобы я мог использовать:
some_time: 1 * 24 * 60 * 60
вместо точного:
some_time: 86400
к сожалению, при использовании этой строки: some_time: 1 * 24 * 60 * 60
, он будет рассматривать эту строку конфигурации как строку. Конечно, я могу использовать ... --3--> но мне довольно интересно, возможно ли это выполнить арифметику в YAML?
1 ответов
Я не думаю, что есть. По крайней мере, не на спецификации (http://yaml.org/spec/1.2/spec.html). Люди добавляют неофициальные теги в yaml (и Википедия, похоже, говорит, что есть предложение о теге yield, хотя они не говорят, кто предложил или где:http://en.wikipedia.org/wiki/YAML#cite_note-16), но ничего, как вам нужно, кажется, доступно в pyyaml.
глядя на конкретные теги pyyaml, кажется, нет ничего интересного. Хотя !!timestamp '2014-08-26'
может быть удобно в некоторых из ваших сценариев (http://pyyaml.org/wiki/PythonTagScheme).