我希望全局变量m和n得到第一和第二维尺寸。但它看起来不正确:
julia> x=rand(3,3)
3×3 Array{Float64,2}:
0.680079 0.929336 0.267358
0.874437 0.625239 0.804478
0.92407 0.737254 0.443433
julia> m,n = size(x);
julia> m,n
(3,3)
julia> global m,n = size(x);
julia> m,n
(3,(3,3))
为什么在添加全局关键字时,将2个变量分配给元组的行为会有所不同?
答案 0 :(得分:3)
似乎将语句拆分为逗号。如果你这样做
x = rand(3,3)
global m,n = size(x)
在一个新的会话中,您将看到m
未定义(在您的示例中,它是从之前的语句中定义的)。 global
将m
从作业中取出,并将结果分配给n
。
我认为你必须
global m = size(x,1)
global n = size(x,2)