Olá ;)
Ao tentar executar o código igual ao do instrutor, recebo a mensagem de erro:
** (File.Error) could not write to file "~.elixir_teste/_build/dev/lib/elixir_teste/priv/arquivo.txt": no such file or directory
(elixir 1.17.1) lib/file.ex:1144: File.write!/3
iex:1: (file)
Um ajuste que pode ser realizado para que isso não aconteça, pode ser criar o diretório do arquivo caso não exista. Com isso, o código ficará dessa maneira:
defmodule ElixirTeste.EscreveNumeroAleatorio do
def escreve do
caminho_do_arquivo = Path.join([:code.priv_dir(:elixir_teste), "arquivo.txt"])
caminho_do_diretorio = Path.dirname(caminho_do_arquivo)
File.mkdir_p!(caminho_do_diretorio)
numero_aleatorio = :rand.uniform(1000)
File.write!(caminho_do_arquivo, "Número #{numero_aleatorio}")
end
end
Talvez seja alguma atualização do Elixir (visto que estou vendo o treinamento hoje, um "pouco depois" do treinamento ter saído).
;)