当前位置: 首页 > 知识库问答 >
问题:

如何使用“new(....)”在Julia的类型定义中?

公冶泰
2023-03-14
type GenConfig
    outputPath::String
    mode::String # "all" or "calls"

    # output file names
    ambsFilename::String
    arcsFilename::String
    callsFilename::String
    hospitalsFilename::String
    mapFilename::String
    nodesFilename::String
    prioritiesFilename::String
    stationsFilename::String
    travelFilename::String

    # counts
    numAmbs::Int
    numCalls::Int
    numHospitals::Int
    numStations::Int

    # graph
    xNodes::Int # number of nodes in x direction
    yNodes::Int # number of nodes in y direction

    # map
    map::Map
    mapTrim::Float # fraction of map border to trim, to make sure   objects generated on map are inside borders

    # misc
    startTime::Float
    targetResponseTime::Float
    offRoadSpeed::Float
    stationCapacity::Int
    travelModeSpeeds::Vector{Float}

    # call density raster
    callDensityRasterFilename::String
    cropRaster::Bool
    callRasterCellSeed::Int # seed for rng, will generate raster cell index
    callRasterCellLocSeed::Int # seed for rng, will generate location within raster cell

    # call related distributions and random number generators
    interarrivalTimeDistrRng::DistrRng
    priorityDistrRng::DistrRng
    dispatchDelayDistrRng::DistrRng
    onSceneDurationDistrRng::DistrRng
    transferDistrRng::DistrRng
    transferDurationDistrRng::DistrRng

    # misc RNGs
    ambStationRng::AbstractRNG
    callLocRng::AbstractRNG
    hospitalLocRng::AbstractRNG
    stationLocRng::AbstractRNG

    travelTimeFactorDistrRng::DistrRng

    GenConfig() = new("", "",
        "", "", "", "", "", "", "", "", "",
        nullIndex, nullIndex, nullIndex, nullIndex,
        nullIndex, nullIndex,
        Map(), 1e-6,
        nullTime, nullTime, nullTime, nullIndex, [],
        "", false, nullIndex, nullIndex)
end

共有1个答案

栾钟展
2023-03-14

您可以使用比字段数少的参数调用new,以获得未完全初始化的对象。

正如Julia手册的不完全初始化部分所解释的那样,这是有意的。

当(引用手册):

julia> mutable struct Lazy
           data
           Lazy(v) = complete_me(new(), v)
       end
 类似资料:
  • 问题内容: 我有一堂课: 我想在“ JPA”专栏中使用它: 这就是Hibernate所说的: 如何使其了解我的自定义类型。我认为这很简单,但是在文档中找不到。 问题答案: 好吧,有很多方法: 用注释类,并具有: private Email email; 声明自定义值类型-参见此处(使用)

  • 问题是我写了简单的注释处理器,它根本不处理类型注释。simple annotations processor的源代码如下所示: 有什么想法如何使用或如何通过SimpleAnnotationsProcessor访问类型注释吗?使用可插入的注释处理API对我来说是不必要的,我认为它会比Java反射有更好的性能。无论如何,我也不知道如何通过Java反射访问类型注释。

  • 问题内容: 我想将非spring bean类对象用作球衣Web服务类方法的参数。但是它在构建时会给出缺少的依赖项错误。 我的代码是: 问题答案: 关键是路径参数以字符串形式出现。根据规范,如果我们希望将自定义类型作为注入,则自定义类应具有以下三项之一: 返回类型的公共静态 返回类型的公共静态 或接受字符串的公共构造函数 另一种选择实现。您可以在此处查看示例。 如果您不拥有该类(它是无法更改的第三方

  • 当我在模型类中将变量定义为字符串时,它在DB中被转换为“VARCHAR(255)”。 但是,我想保存超过255个,因为这个数据是由几个段落组成的非常长的文本。 据我所知,DB中有一种TEXT类型来保存很长的文本。 如何在Play中定义TEXT类型!框架? 我尝试了约束。MaxLength和约束。游戏中定义的最大值!框架api。 然而,仍然是1。sql文件(由Ebean DDL自动创建)将此变量定义

  • 我正在将一些代码从Angular1迁移到Angular2,但有一些问题。我可以打开json响应,填充模板,并从模板ng函数访问数据,但无法直接从组件类访问数据。从我读到的和看到的错误消息来看,Angular2 http/observable似乎没有返回纯json对象,因此我怀疑我需要重新映射它,但不确定如何映射。我相信,使用onPromise也可以回到promise上来,但还没有成功实现。我花了很

  • 这将是在Windows机器上,我知道指针大小INT-PTR是64位宽。然后我可以使用CV_64,但只定义了CV_64F。因为我不会用这个矩阵做任何计算,我能用它来存储指针吗。我在想,在读取第一个图像之前,我将获得大小,创建这个矩阵,使用“new std::vector”为每个像素创建向量,并将该指针存储在元素中。在计算的循环中,我使用相同的访问偏移量来读取原始图像并将输出存储在向量中。当我处理完这