朱莉娅式问题

时间:2016-02-15 18:06:44

标签: types integer julia

1 为什么当我在函数中定义一个变量及其类型时一切都很好,但是当它是一个全局变量时我会得到错误? 例如:

  n::Int8 = 3
  ERROR: LoadError: UndefVarError: n not defined

2 为什么当我做一些简单的操作时,变量类型会发生变化?例子:

julia> function main()
           n::Int8 = 5
           c = collect(1:n)
           println(c)
           println(typeof(c))
       end
main (generic function with 1 method)

julia> main()
[1,2,3,4,5]
Array{Int64,1}


julia> n = zero(Int8)
0
julia> typeof(ans)
Int8
julia> n += 5
5
julia> typeof(ans)
Int64

3 如何维护变量初始类型?

1 个答案:

答案 0 :(得分:2)

目前(Julia 0.4),问题1&在Julia手册中this statement回答了2:

  

目前,类型声明不能在全局范围内使用,例如在REPL中,因为Julia还没有常量型全局变量。

正如评论中所讨论的,#3有几种选择。