Какой код стоит за номером в REPL Юлии? - PullRequest
0 голосов
/ 26 сентября 2018

Я задал себе простой вопрос в заголовке.

Вот результаты:

julia> # Fresh 1.0.0 REPL
julia> VERSION
v"1.0.0"

julia> 2
2
julia> code_lowered(ans)
0-element Array{Union{Nothing, CodeInfo},1}

Как ans может быть массивом 0-element для представления 2?

Есть предложения?

1 Ответ

0 голосов
/ 26 сентября 2018

code_lowered ожидает вызова в качестве первого аргумента.Ясно, что 2 не вызывается, поэтому он возвращает массив с нулевым IR, потому что не существует для не вызываемого.Попробуйте code_lowered(Int) или code_lowered(sin), чтобы убедиться, что все работает нормально (первый - это тип, а второй - функция - два основных типа вызываемых элементов).

Это не имеет ничего общего с ans.Он просто проверяет, что содержит ans, например:

julia> f() = 10
f (generic function with 1 method)

julia> code_lowered(ans)
1-element Array{Core.CodeInfo,1}:
 CodeInfo(
1 1 ─     return 10                                                         │
)

julia>
...