gpt4 book ai didi

ats - 如何在 ATS 中构建数组?

转载 作者:行者123 更新时间:2023-12-05 04:12:30 27 4
gpt4 key购买 nike

例如,如何在 ATS 中构造一个数组,其中包含从 A 到 Z 的所有大写字母?在 C 中,这可以按如下方式完成:

char *Letters()
{
int i;
char *cs = (char *)malloc(26);
assert(cs != 0);
for (i = 0; i < 26; i += 1) cs[i] = 'A' + i;
return cs;
}

最佳答案

您可以使用制表函数来创建线性数组。例如,

extern
fun
Letters(): arrayptr(char, 26)
implement
Letters() =
arrayptr_tabulate_cloref<char>
(i2sz(26), lam(i) => 'A' + sz2i(i))

如果您不想使用高阶函数,可以尝试以下基于模板的解决方案:

implement
Letters() =
arrayptr_tabulate<char>(i2sz(26)) where
{
implement array_tabulate$fopr<char> (i) = 'A' + sz2i(i)
}

关于ats - 如何在 ATS 中构建数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40218390/

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