在Julia中,将变量const
定义为和将变量定义为有什么区别const global
?考虑以下示例,如果我更改const global
为,有什么区别const
?
#set number of cores
number_cores=7;
addprocs(number_cores)
#include necessary functions
@everywhere include("$(pwd())\\lib.jl");
const global n = 2; # number of observables
const global k = nVAR + 2*n-1; # number of states
const global m = k*q;
pmap(a->parallel_un(a,n,k,m),1:7)
有两种情况:
const
和const global
相同;const
不在全局范围内,则Julia 0.7中不建议使用usingconst global
并且可以接受using并定义一个全局常量。这是一个示例会话:
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: https://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.7.0-DEV.3404 (2018-01-14 21:52 UTC)
_/ |\__'_|_|_|\__'_| | Commit d569a2923c* (30 days old master)
|__/ | x86_64-w64-mingw32
julia> f() = (const global x = 1)
f (generic function with 1 method)
julia> f()
1
julia> x = "a"
ERROR: invalid redefinition of constant x
julia> g() = (const global y = 1)
g (generic function with 1 method)
julia> y = 1
1
julia> g()
ERROR: cannot declare y constant; it already has a value
Stacktrace:
[1] g() at .\REPL[4]:1
[2] top-level scope
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句