如何在 Julia 中实现递减 for 循环?

How to implement a decrementing for loop in Julia?

我知道在python我可以做如下事情。

for i in range(10, 0, -1):
    print(i)

将输出:

10
9
8
7
6
5
4
3
2
1 

我是 julia 的新手,我知道我可以按如下方式创建正常循环。

for i=1:10
    println(i)
end

凭直觉,我尝试了如下操作(因为我认为它的行为类似于 python 的 range([start], stop[, step]) 函数)。

for i=10:1:-1
    println(i)
end

虽然没有失败,但也没有打印任何东西。我做错了什么?

julia中是否有一种直观的向后循环的方法?

试试这个:

julia> for i=10:-1:1
           println(i)
       end
10
9
8
7
6
5
4
3
2
1

或这个

julia> for i=reverse(1:10)
           println(i)
       end
10
9
8
7
6
5
4
3
2
1

如@phipsgabler 所述,您还可以使用:

julia> range(10, 1, step=-1)
10:-1:1

再次获得相同的结果(请注意,尽管您必须使用 1 作为第二个索引)。

根据我的实践,range 通常与 with length 关键字参数一起更有用:

julia> range(10, 1, length=10)
10.0:-1.0:1.0

(请注意,在这种情况下,您得到的向量是 Float64 而不是 Int