gpt4 book ai didi

不带括号的 Groovy 范围迭代

转载 作者:行者123 更新时间:2023-12-01 10:45:49 24 4
gpt4 key购买 nike

下面的 Groovy 代码打印从 1 到 5 的数字范围。

(1..5).each {println it}

但是,当我忘记添加括号时,请执行以下操作:
1..5.each { println it}

它只打印 5

为什么这是合法的 Groovy 语法?我希望这要么表现得像 (1..5) 版本,要么抛出一个异常,说我忘记了括号。

最佳答案

5.each优先于 1..5在 Groovy 解析器中。它有效,因为它正在做这样的事情:

ret = 5.each { println it }
range = 1..ret
assert range == [1, 2, 3, 4, 5]
each的回归是集合本身

关于不带括号的 Groovy 范围迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26100086/

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