Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Julia 朱莉娅:朱莉娅的数组中的未定义是什么 这是数组的构造函数:_Julia - Fatal编程技术网

Julia 朱莉娅:朱莉娅的数组中的未定义是什么 这是数组的构造函数:

Julia 朱莉娅:朱莉娅的数组中的未定义是什么 这是数组的构造函数:,julia,Julia,数组{T}(未定义,dims) 我是朱莉娅的新手,在编程方面没有很好的背景。在这种语法中,为什么要使用unde来创建数组 Julia中的构造函数是什么,我们在什么情况下使用构造函数 如果我们不键入构造函数,Julia将自动创建一个构造函数。那么,我们为什么使用构造函数呢?首先,您想了解什么是构造函数: 为此,我建议您选择Julia doc: 既然你有了理论,让我们把这个表达式拆开: a = Array{Int}(undef, (2, 2)) 这个表达式的意思是“我希望a成为维度(2,2)的数

数组{T}(未定义,dims)

我是朱莉娅的新手,在编程方面没有很好的背景。在这种语法中,为什么要使用
unde
来创建数组

  • Julia中的构造函数是什么,我们在什么情况下使用构造函数

  • 如果我们不键入构造函数,Julia将自动创建一个构造函数。那么,我们为什么使用构造函数呢?

    首先,您想了解什么是构造函数: 为此,我建议您选择Julia doc:

    既然你有了理论,让我们把这个表达式拆开:

    a = Array{Int}(undef, (2, 2)) 
    
    这个表达式的意思是“我希望
    a
    成为维度(2,2)的
    数组”。所以Julia会要求一些内存空间。当我写在Julia REPL上时:

    julia> a = Array{Int}(undef, (2, 2))
    2×2 Array{Int64,2}:
     0  0
     0  0
    
    现在,
    Array{T}(unde,dims)
    是它的推广。“使用特定数量的维度构建特定类型的数组
    T

    到目前为止,我没有解释什么是
    undef
    undef
    UndefInitializer()
    的快捷方式。在本例中,我们需要一个未初始化的数组。这是什么意思?为此,您必须了解,变量不是在终端上创建的。它们在计算机内存中占据特定位置。有时,相同的内存空间被另一个变量占用。因此,新变量可以占用的空间可能不是空的:

    julia> a = Array{Float64}(undef, (2, 2))
    2×2 Array{Float64,2}:
     6.94339e-310  6.94339e-310
     6.94339e-310  0.0  
    
    在这里,我从未要求这些值存在。我可以删除它以使用干净的变量。但这意味着要删除每个单元格的值,计算机替换每个值比声明“这是新变量”要昂贵得多


    因此,基本上,
    undef
    和未初始化的数组用于性能目的。如果您想要一个初始化良好的数组,可以使用

    非常感谢您的回答。如何初始化我的数组?我可以避免使用除nothing之外的任何东西进行undef吗?正如我在回答的最后一句中所说的,您可以使用fill()