Julia REPL中的数字背后的代码是什么?

时间:2018-09-26 18:18:07

标签: julia

我问自己标题中的简单问题。

以下是结果:

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 :(得分:4)

code_lowered希望将callable作为第一个参数。显然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>