循环中包含数字的输出变量

Tyl*_*erD 3 julia

我有以下变量

a1 = 2
a2 = 20
a3 = 200
Run Code Online (Sandbox Code Playgroud)

是否可以在循环整数 1、2 和 3 时输出它们?类似下面的东西,尽管它没有按预期工作

for i in [1,2,3]
    println(:"a$i") # doesn't work
    println("a" * string(i)) # doesn't work
end
Run Code Online (Sandbox Code Playgroud)

DNF*_*DNF 6

您可以使用字典,但这看起来像是数组的工作:

julia> a = [2, 20, 200]
3-element Vector{Int64}:
   2
  20
 200

julia> for i in eachindex(a)
           println(a[i])
       end
2
20
200
Run Code Online (Sandbox Code Playgroud)

初学者程序员通常会尝试动态创建和访问变量。可以这样做,但你不应该这样做。它使代码变得脆弱且难以阅读,而且速度缓慢且容易出现错误。这就是数据结构存在的原因,它允许您以结构化的方式收集数据。

数组的替代方案是使用元组a = (2, 20, 200)。它的工作方式大致相同,只是元组创建后无法更改。