【发布时间】:2016-11-05 00:11:57
【问题描述】:
因此,如果我使用 Elixir 在 RAM 内存中打开一个文件(参见下面的代码 2),我如何在 RAM 中写入该文件,然后在写入完成后检索其内容?模式匹配返回“#Port”,这与文件句柄 PID 显然不一样,因为 IO.write #Port,“hello” 返回如下错误:
代码 1
** (CaseClauseError) no case clause matching: {#Port<0.11114>}
(elixir) lib/io.ex:495: IO.write/2
代码 2
File.open("text.txt", [:ram])
# => {:ok, {:file_descriptor, :ram_file, #Port<0.11114>}}
【问题讨论】:
-
您介意分享产生错误的代码吗?
-
说你需要写到 ram 让我觉得可能是过早的优化。
-
@OnorioCatenacci - 不是,我想我必须写信给 ram,因为它是在 Heroku 盒子上完成的,它不允许你存储文件(写入临时存储的文件将被擦除)
标签: elixir