gpt4 book ai didi

jsonnet - 如何在jsonnet中附加现有对象?

转载 作者:行者123 更新时间:2023-12-04 01:52:06 26 4
gpt4 key购买 nike

如何附加到现有列表?

这是无效的:

local list = ['a', 'b', 'c'];

local list = list + ['e'];

最佳答案

您遇到的情况是由于本地人在 jsonnet 中递归。所以在 local list = list + ['e']右侧的列表与左侧的列表相同,当您尝试对其求值时会导致无限递归。

因此,这将按您的预期工作:

local list = ['a', 'b', 'c'];
local list2 = list + ['e'];

这次它正确地引用了先前定义的列表。

如果你想知道为什么它是这样设计的,它很有用,因为这意味着你可以编写递归函数:
local foo(x) = if x == 0 then [] else foo(x - 1) + [x];
foo(5)

这与写作完全相同:
local foo = function(x) if x == 0 then [] else foo(x - 1) + [x];
foo(5)

关于jsonnet - 如何在jsonnet中附加现有对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52530367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com