I’ve been searching the docs but I couldn’t find anything about how are the symbols in LOAD_PATH
expanded?
I’m referring to @
, @v#.#
and @stdlib
. Thanks
Here is an attempt to answer that question. I am not sure my answer is completely correct though, so I hope someone with better insights can correct me if it is wrong, including terminology.
@
- base project/environment
@v#.#
- default project/environment (e.g. v0.7 in this part of the docs)
@stdlib - standard library project/environment
This is what makes up the stacked environment available in the REPL, allowing one to load code from base, stdlib and packages the user adds to the default project.
you can also call Base.load_path()
to interpret LOAD_PATH.
Follow up question. The order of the LOAD_PATH
seems to be [@, @v#.#, @stdlib]
. Does this order matter, and if yes, how? From this part of the docs, it seems that the primary environment
wins, followed by the one in 2nd place, 3rd place and so on… Is the base environment the winner in this case, followed by the default environment, and then the stdlib?