Сохраните значения, сгенерированные циклом for.JuMP / Julia - PullRequest
0 голосов
/ 15 апреля 2019

Удивительно, что Интернет полностью лишен этого простого вопроса (или подобного). Или я просто очень плохо в поиске. В любом случае, я просто хочу сохранить значения, сгенерированные циклом for, в массиве и распечатать массив. Все просто.

На любом другом языке Matlab, R, Python, Java и т. Д. Это очень просто. Но в Юлии я, кажется, что-то упускаю.

using JuMP

# t = int64[] has also been tested
t = 0

for i in 1:5
   vector[i]
   println[vector]
end

Я получаю ошибку

ERROR: LoadError: BoundsError

Чего мне не хватает?

1 Ответ

1 голос
/ 16 апреля 2019

Вы не инициализировали vector, и вы должны вызывать метод println следующим образом, в Julia 1.0:

vector = Array{Int,1}(undef, 5)
for i in 1:5
     vector[i] = i
     println(vector[i])
end

Или, более быстро, со списком понимания:

vector = [i for i in 1:5]
for i in 1:5
   println(vector[i])
end

Другая возможность с использованием метода push!:

vector = []
for i in 1:5
   push!(vector, i)
   println(vector[i])
end
...