从我自己的包中的参数导入@with_kw

import @with_kw from Parameters inside my own package

我已经创建了 my own Julia package,但我对此类做法还很陌生。

我以前有这个代码:

using Parameters
@with_kw mutable struct MWE @deftype String
mwe1 = "default" ; @assert mwe1 in ["default", "1", "2"]
mwe2 = "test"
end

效果很好。现在我把它放入我的包中,用 import 替换 using,我有以下错误:

julia> import MyPackageMWE
[ Info: Precompiling RobustRSP [33e6bdf6-6d3e-458b-9f4e-8cd6eb784281]
[ Info: Loading JuMP
[ Info: Loading Gurobi
[ Info: Loading Combinatorics, DelimitedFiles, Dates and Random
[ Info: Loading Distributions, Graphs and Plots
[ Info: Loading Parameters and Formatting
[ Info: Loading Compose, Cairo and Fontconfig
[ Info: Loading .jl files   0%
ERROR: LoadError: UndefVarError: @with_kw not defined

知道哪里出了问题吗? 可能跟@macros有关?

我不知道包参数,但可能是如果 @with_kw 在参数中导出,那么如果您替换

using Parameters

import Parameters

那你应该改变 @with_kwParameters.@with_kw