gpt4 book ai didi

krl - 在函数中迭代数组

转载 作者:行者123 更新时间:2023-12-02 10:48:29 26 4
gpt4 key购买 nike

对于我的Google Docs spreadsheet module ,我希望函数能够接受值数组并迭代它们,将它们添加到哈希中。电子表格提交表单需要如下格式的值:

{"entry.0.single": value0,
"entry.1.single": value1,
"entry.2.single": value2}

如果函数接受如下所示的数组,

[value0, value1, value2]

是否可以循环它们,保持运行计数器并创建散列?对于其他语言来说,这将是一个简单的任务。 Python 足以说明:

hash = dict()
i = 0
for val in values:
hash["entry.%s.single" % i] = val
i += 1

这可以在 KRL 中完成吗?

最佳答案

递归函数是你的 friend :

    a = ['value0', 'value1', 'value2'];

r = function(a, h, n){
top = a.head();
newhash = h.put({'entry.#{n}.single':top});
a.length() > 1 => r(a.tail(), newhash, n+1) | newhash;
};

out = r(a, {}, 0);

out 的值为 {'entry.1.single' :'value1','entry.0.single' :'value0','entry.2.single' :'value2'};

这里需要递归函数,因为您正在进行结构转换。如果您想要返回一个数组,您可以使用 map() method .

此外,请注意编写递归函数的基本情况。 KNS 确实强制执行递归限制。

关于krl - 在函数中迭代数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5547346/

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