gpt4 book ai didi

julia - 在 Julia 中定义常量全局变量

转载 作者:行者123 更新时间:2023-12-03 23:47:24 25 4
gpt4 key购买 nike

在 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)

最佳答案

有两种情况:

  • 如果您在全局范围内,则 constconst global是相同的;
  • 如果您在某个范围内而不是全局范围,则使用 const在 Julia 0.7 中已弃用并使用 const global是可以接受的,并定义了一个全局常量。

  • 这是一个示例 session :
                   _
    _ _ _(_)_ | 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

    关于julia - 在 Julia 中定义常量全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48781443/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com