LauraBeatris
What is a term?
I have been studying how to save files to the filesystem and I had some doubts related to the Erlang functions responsible to deal with binaries.
For instance:
def saveFile(path, file) do
binary = :erlang.term_to_binary(file)
end
def loadFile(path) do
{status, binary} = File.read(path)
case status do
:ok -> :erlang.binary_to_term(binary)
:error -> "File not exists. Did you write the correct path?"
end
What is the “term” word used in the erlang functions above?
Marked As Solved
hauleth
Yes, but beware that it will use External Term Format, not “human readable format”.
EDIT: Not only it can be encoded into binary, it have to. Otherwise the Distributed Erlang couldn’t exist at all.
Also Liked
ityonemo
yes, and they’re not kidding when they mean “any term”. For example, do this:
f = fn x -> x + 1 end
then save the term in f to a file. Close your elixir session, start a new one, open the file into a variable f in your new session and then do this:
f.(4)
hauleth
Term is any Erlang term. In other words, any value in Erlang is a term.
LauraBeatris
Alrighttt, now i understand it. Thanks!!







