Ошибка UndefVarError в области видимости `` @ time``` - PullRequest
0 голосов
/ 29 марта 2019

У меня есть следующий фрагмент кода:

@time begin

    results = nothing

    for i in 1:3

        if results == nothing
            results = DataFrame(A=1, B=2)
        else
            results = vcat(results, DataFrame(A=1, B=2))
        end
    end

end

Без части @time begin/end код работает нормально.

Однако внутри части @time begin/end я получаю UndefVarError: results not defined.

Кто-нибудь знает, что происходит?

1 Ответ

0 голосов
/ 29 марта 2019

Мне кажется, у вас ошибка определения объема.Ваше присвоение results происходит в области, к которой у остальной части блока нет доступа.Это можно исправить, указав, что вы делаете назначение в локальной области:

@time begin

    local results = nothing

    for i in 1:3

        if results == nothing
            results = DataFrame(A=1, B=2)
        else
            results = vcat(results, DataFrame(A=1, B=2))
        end
    end

end

Обратите внимание, что вы получите ту же ошибку только с блоком begin ... end, без @time.

...