#julia
Вопрос:
Я создал этот модуль
module MyModule
export my_square, my_abs, my_minus
my_square(x::Int64) = x * x
my_abs(x) = (x>=0) ? x : -x
my_add(x,y) = x y
my_minus(x,y) = x - y
my_multiply(x,y) = x * y
end
но при импорте его для использования он выдает ошибку, какое-либо решение?
Ответ №1:
Этот модуль был определен в пространстве Main
, поэтому вам нужно добавить точку .
перед именем модуля:
julia> using .MyModule
julia> my_abs(-4)
4
Просто обратите внимание, что это using Main.MyModule
будет работать так же хорошо, просто требуется больше набора текста.
Если вы хотите скорее написать using MyModule
(без точки .
ни Main.
), вам нужно поместить этот модуль в пакет Julia. Вы найдете много документации по созданию пакетов, но самыми простыми шагами являются:
using Pkg
Pkg.generate("MyModule")
В папке src вы найдете MyModule.jl
, отредактируете ее и вставьте определение модуля.
Теперь вы готовы это сделать:
julia> Pkg.activate(".\MyModule") #use the correct path
Activating environment at `MyModuleProject.toml`
julia> using MyModule