gpt4 book ai didi

ceylon - 递增整数

转载 作者:行者123 更新时间:2023-12-01 09:47:15 27 4
gpt4 key购买 nike

我在递增可变整数时遇到了一些问题。这段代码:

variable Integer myInteger = -1;
Integer getInteger () {
myInteger = myInteger + 1;
print("myInteger: " + myInteger.string);
return Integer(myInteger);
}

Array<Integer> integers =
Array.ofSize(
4,
getInteger());

print(integers);

给出这个输出:

myInteger: 0
{ 0, 0, 0, 0 }

虽然预期的输出是:

myInteger: 0
myInteger: 1
myInteger: 2
myInteger: 3
{ 0, 1, 2, 3 }

这是怎么回事?

最佳答案

我认为您的示例是人为设计的,可以写成 Array(0:4)Array(0..3)。但假设您有充分的理由想要遍历生成函数,我会这样写:

Array(loop(0)((i) => i+1).take(4))

或者,等价地:

Array(loop(0)(Integer.successor).take(4))

甚至:

Array(loop(0)(1.plus).take(4))

在我看来,这比使用在外部作用域中访问变量的流要好得多。

关于ceylon - 递增整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46113172/

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