Erlang: How to define config file variables?2019 Community Moderator ElectionHow to import a module given the full path?How can I show line numbers in Eclipse?How to define custom configuration variables in railsErlang: “extending” an existing module with new functionsSpeed comparison with Project Euler: C vs Python vs Erlang vs HaskellDifference between <context:annotation-config> vs <context:component-scan>How should i define something constantlike in Erlanghow to define grails.plugin.elfinder.rootDir in external config fileHow to invoke Erlang function with variable?Define variable in Spring config file to have access to external folder with images
The (Easy) Road to Code
PTIJ: Sport in the Torah
What is the purpose of a disclaimer like "this is not legal advice"?
A running toilet that stops itself
How to install "rounded" brake pads
How to educate team mate to take screenshots for bugs with out unwanted stuff
Should I file my taxes? No income, unemployed, but paid 2k in student loan interest
Do I need a return ticket to Canada if I'm a Japanese National?
Can Witch Sight see through Mirror Image?
What is the orbit and expected lifetime of Crew Dragon trunk?
Is "cogitate" used appropriately in "I cogitate that success relies on hard work"?
Is it a Cyclops number? "Nobody" knows!
Generating a list with duplicate entries
Short story about cities being connected by a conveyor belt
Why is there an extra space when I type "ls" on the Desktop?
Why do phishing e-mails use faked e-mail addresses instead of the real one?
How do you make a gun that shoots melee weapons and/or swords?
Unidentified signals on FT8 frequencies
What would be the most expensive material to an intergalactic society?
Why do we say 'Pairwise Disjoint', rather than 'Disjoint'?
Does an unused member variable take up memory?
Was this cameo in Captain Marvel computer generated?
Short SF story. Females use stingers to implant eggs in yearfathers
Create chunks from an array
Erlang: How to define config file variables?
2019 Community Moderator ElectionHow to import a module given the full path?How can I show line numbers in Eclipse?How to define custom configuration variables in railsErlang: “extending” an existing module with new functionsSpeed comparison with Project Euler: C vs Python vs Erlang vs HaskellDifference between <context:annotation-config> vs <context:component-scan>How should i define something constantlike in Erlanghow to define grails.plugin.elfinder.rootDir in external config fileHow to invoke Erlang function with variable?Define variable in Spring config file to have access to external folder with images
I'm new in Erlang and I have a question about .config files:
I have a configuration file with:
path, "/mnt/test/".
name, "Joe".
The path and the name could be changed by a user. As I know, there is a way to save those variables in a module by usage of file:consult/1
in
-define(VARIABLE, <parsing of the config file>).
Are there any better ways to read a config file when the module begins to work without making a parsing function in -define? (As I know, according to Erlang developers, it's not the best way to make a complicated functions in -define)
Thanks in advance.
configuration erlang otp
add a comment |
I'm new in Erlang and I have a question about .config files:
I have a configuration file with:
path, "/mnt/test/".
name, "Joe".
The path and the name could be changed by a user. As I know, there is a way to save those variables in a module by usage of file:consult/1
in
-define(VARIABLE, <parsing of the config file>).
Are there any better ways to read a config file when the module begins to work without making a parsing function in -define? (As I know, according to Erlang developers, it's not the best way to make a complicated functions in -define)
Thanks in advance.
configuration erlang otp
add a comment |
I'm new in Erlang and I have a question about .config files:
I have a configuration file with:
path, "/mnt/test/".
name, "Joe".
The path and the name could be changed by a user. As I know, there is a way to save those variables in a module by usage of file:consult/1
in
-define(VARIABLE, <parsing of the config file>).
Are there any better ways to read a config file when the module begins to work without making a parsing function in -define? (As I know, according to Erlang developers, it's not the best way to make a complicated functions in -define)
Thanks in advance.
configuration erlang otp
I'm new in Erlang and I have a question about .config files:
I have a configuration file with:
path, "/mnt/test/".
name, "Joe".
The path and the name could be changed by a user. As I know, there is a way to save those variables in a module by usage of file:consult/1
in
-define(VARIABLE, <parsing of the config file>).
Are there any better ways to read a config file when the module begins to work without making a parsing function in -define? (As I know, according to Erlang developers, it's not the best way to make a complicated functions in -define)
Thanks in advance.
configuration erlang otp
configuration erlang otp
asked 2 days ago
Nick SawNick Saw
394
394
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
If you need to store config only when you start the application - you may use application config file which is defined in 'rebar.config'
profiles, [
local,
[relx, [
dev_mode, false,
include_erts, true,
include_src, false,
vm_args, "config/local/vm.args"]
sys_config, "config/local/yourapplication.config"]
]
].
more info about this here: rebar3 configuration
next step to create yourapplication.config
- store it in your application folder /app/config/local/yourapplication.config
this configuration should have structure like this example
[
yourapplicationname, [
path, "/mnt/test/",
name, "Joe"
]
].
so when your application is started
you can get the whole config data with
ok, "/mnt/test/" = application:get_env(yourapplicationname, path)
ok, "Joe" = application:get_env(yourapplicationname, name)
and now you may -define this variables like:
-define(VARIABLE,
case application:get_env(yourapplicationname, path) of
ok, Data -> Data
_ -> undefined
end
).
Thank you for detailed answer! Another question is how to make these two variables global for the module? As I understand, the only way is to declare the variables by application:get_env in "-define", am I right? P.S. without ets/dets/mnesia usage
– Nick Saw
2 days ago
@NickSaw updated the answer (added -define variable)
– Eugen Dubrovin
2 days ago
Thank you for reply, I understand
– Nick Saw
2 days ago
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55019302%2ferlang-how-to-define-config-file-variables%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you need to store config only when you start the application - you may use application config file which is defined in 'rebar.config'
profiles, [
local,
[relx, [
dev_mode, false,
include_erts, true,
include_src, false,
vm_args, "config/local/vm.args"]
sys_config, "config/local/yourapplication.config"]
]
].
more info about this here: rebar3 configuration
next step to create yourapplication.config
- store it in your application folder /app/config/local/yourapplication.config
this configuration should have structure like this example
[
yourapplicationname, [
path, "/mnt/test/",
name, "Joe"
]
].
so when your application is started
you can get the whole config data with
ok, "/mnt/test/" = application:get_env(yourapplicationname, path)
ok, "Joe" = application:get_env(yourapplicationname, name)
and now you may -define this variables like:
-define(VARIABLE,
case application:get_env(yourapplicationname, path) of
ok, Data -> Data
_ -> undefined
end
).
Thank you for detailed answer! Another question is how to make these two variables global for the module? As I understand, the only way is to declare the variables by application:get_env in "-define", am I right? P.S. without ets/dets/mnesia usage
– Nick Saw
2 days ago
@NickSaw updated the answer (added -define variable)
– Eugen Dubrovin
2 days ago
Thank you for reply, I understand
– Nick Saw
2 days ago
add a comment |
If you need to store config only when you start the application - you may use application config file which is defined in 'rebar.config'
profiles, [
local,
[relx, [
dev_mode, false,
include_erts, true,
include_src, false,
vm_args, "config/local/vm.args"]
sys_config, "config/local/yourapplication.config"]
]
].
more info about this here: rebar3 configuration
next step to create yourapplication.config
- store it in your application folder /app/config/local/yourapplication.config
this configuration should have structure like this example
[
yourapplicationname, [
path, "/mnt/test/",
name, "Joe"
]
].
so when your application is started
you can get the whole config data with
ok, "/mnt/test/" = application:get_env(yourapplicationname, path)
ok, "Joe" = application:get_env(yourapplicationname, name)
and now you may -define this variables like:
-define(VARIABLE,
case application:get_env(yourapplicationname, path) of
ok, Data -> Data
_ -> undefined
end
).
Thank you for detailed answer! Another question is how to make these two variables global for the module? As I understand, the only way is to declare the variables by application:get_env in "-define", am I right? P.S. without ets/dets/mnesia usage
– Nick Saw
2 days ago
@NickSaw updated the answer (added -define variable)
– Eugen Dubrovin
2 days ago
Thank you for reply, I understand
– Nick Saw
2 days ago
add a comment |
If you need to store config only when you start the application - you may use application config file which is defined in 'rebar.config'
profiles, [
local,
[relx, [
dev_mode, false,
include_erts, true,
include_src, false,
vm_args, "config/local/vm.args"]
sys_config, "config/local/yourapplication.config"]
]
].
more info about this here: rebar3 configuration
next step to create yourapplication.config
- store it in your application folder /app/config/local/yourapplication.config
this configuration should have structure like this example
[
yourapplicationname, [
path, "/mnt/test/",
name, "Joe"
]
].
so when your application is started
you can get the whole config data with
ok, "/mnt/test/" = application:get_env(yourapplicationname, path)
ok, "Joe" = application:get_env(yourapplicationname, name)
and now you may -define this variables like:
-define(VARIABLE,
case application:get_env(yourapplicationname, path) of
ok, Data -> Data
_ -> undefined
end
).
If you need to store config only when you start the application - you may use application config file which is defined in 'rebar.config'
profiles, [
local,
[relx, [
dev_mode, false,
include_erts, true,
include_src, false,
vm_args, "config/local/vm.args"]
sys_config, "config/local/yourapplication.config"]
]
].
more info about this here: rebar3 configuration
next step to create yourapplication.config
- store it in your application folder /app/config/local/yourapplication.config
this configuration should have structure like this example
[
yourapplicationname, [
path, "/mnt/test/",
name, "Joe"
]
].
so when your application is started
you can get the whole config data with
ok, "/mnt/test/" = application:get_env(yourapplicationname, path)
ok, "Joe" = application:get_env(yourapplicationname, name)
and now you may -define this variables like:
-define(VARIABLE,
case application:get_env(yourapplicationname, path) of
ok, Data -> Data
_ -> undefined
end
).
edited 2 days ago
answered 2 days ago
Eugen DubrovinEugen Dubrovin
698312
698312
Thank you for detailed answer! Another question is how to make these two variables global for the module? As I understand, the only way is to declare the variables by application:get_env in "-define", am I right? P.S. without ets/dets/mnesia usage
– Nick Saw
2 days ago
@NickSaw updated the answer (added -define variable)
– Eugen Dubrovin
2 days ago
Thank you for reply, I understand
– Nick Saw
2 days ago
add a comment |
Thank you for detailed answer! Another question is how to make these two variables global for the module? As I understand, the only way is to declare the variables by application:get_env in "-define", am I right? P.S. without ets/dets/mnesia usage
– Nick Saw
2 days ago
@NickSaw updated the answer (added -define variable)
– Eugen Dubrovin
2 days ago
Thank you for reply, I understand
– Nick Saw
2 days ago
Thank you for detailed answer! Another question is how to make these two variables global for the module? As I understand, the only way is to declare the variables by application:get_env in "-define", am I right? P.S. without ets/dets/mnesia usage
– Nick Saw
2 days ago
Thank you for detailed answer! Another question is how to make these two variables global for the module? As I understand, the only way is to declare the variables by application:get_env in "-define", am I right? P.S. without ets/dets/mnesia usage
– Nick Saw
2 days ago
@NickSaw updated the answer (added -define variable)
– Eugen Dubrovin
2 days ago
@NickSaw updated the answer (added -define variable)
– Eugen Dubrovin
2 days ago
Thank you for reply, I understand
– Nick Saw
2 days ago
Thank you for reply, I understand
– Nick Saw
2 days ago
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55019302%2ferlang-how-to-define-config-file-variables%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown