Hi Community,
I’m trying to structure my Julia Project but failing to import modules from one dir to another dir. Below is my Project Structure
|--Algorithms
|-- src
|--Algebra
|-- algebra.jl
|-- Testalgebra.jl
|-- maths
|-- maths.jl
|-- Absolute.jl
|-- Algorithms.jl
I’m trying to import Module Maths defined in maths.jl to TestAlgebra.jl, But I’m having no clue. Getting below Error Message.
WARNING: could not import Algebra.Maths into Algebra
Note: I don’t want add include in TestAlgebra.jl as I’ve already added in Algorithms.jl
The contents can be found in this link.
Thanks
Akhil
Here is the code peiced together with the include
s removed
module Maths
function abs_value(x)
return x>0 ? x : -x
end
end
module Algebra
import ..Maths
function add_value(x)
return Maths.abs_value(x)+5
end
end
print(Maths.abs_value(-98))
Notice that ive changed .Maths
to ..Maths
because its in a parent module
1 Like
See also the documentation here.
Thanks Graham, for the solution.
Is there a better way or standard Julian way to write Imports.
In Algorithms.jl File, the code doesn’t speaks from where module - Algebra got imported:
include("maths/maths.jl") # Maths Directory
include("Algebra/algebra.jl")
print(Algebra.add_value(-98))
Code maintainence will be an issue if codebase becomes larger. How can I address this ?
For most projects I try not to use sub modules. I divide projects into separate files or even folders, but generally they are usually just all included in one single module. But that’s just me.
1 Like