我找不到用jsonnet在数组中声明数组的方法。下面是我要呈现的语法:
git/push/myrules:
rules:
- changes:
- package.json
- yarn.lock我确实成功地将changes设置为规则数组的第一个元素。
local git_push_instance() =
{
['rules']: [
'changes'
]
};
{
['git/push/myrules']: git_push_instance()
}下面是命令行jsonnet rules.jsonnet的输出
{
"git/push/myrules": {
"rules": [
"changes"
]
}
}但是,如何将更改设置为包含两个条目的数组: package.json和yarn.lock?
我试了一下,但出了个错误:
local git_push_instance() =
{
['rules']: [
changes: ['package.json', 'yarn.lock']
]
};
{
['git/push/myrules']: git_push_instance()
}静态错误: rules.jsonnet:4:16:在下一个数组元素之前需要一个逗号.
发布于 2022-09-19 20:52:40
问题是,下面的构造有一个键(changes:),而据推测它是一个数组条目:
['rules']: [
changes: ['package.json', 'yarn.lock'] // incorrect
]您需要更改上面的内容,以发出一个(Mini)对象数组,而不是:
['rules']: [
{ changes: ['package.json', 'yarn.lock'] },
]为了完整起见,粘贴在src及其输出下面:
rules.jsonnet
local git_push_instance() =
{
rules: [
{ changes: ['package.json', 'yarn.lock'] },
],
};
{
'git/push/myrules': git_push_instance(),
}输出
注:通过yq -PI2管道获得更干净的YAML输出:
$ jsonnet rules.jsonnet | yq -PI2
git/push/myrules:
rules:
- changes:
- package.json
- yarn.lockhttps://stackoverflow.com/questions/73772079
复制相似问题