zip:create在windows上的Erlang22中似乎不起作用

zip:create在windows上的Erlang22中似乎不起作用,erlang,zip,elixir,Erlang,Zip,Elixir,我已经使用:zip.create/3很久了,没有任何问题 在Erlang22上更新到Elixir1.9.2之后,我现在得到以下错误:{:error,:einval} 需要帮忙吗 defmodule Utils do def zip_test do data = {"demo.txt", File.read!("demo.txt")} IO.puts(inspect(data, @format)) :zip.create("demo.zip", [data], [:m

我已经使用:zip.create/3很久了,没有任何问题

在Erlang22上更新到Elixir1.9.2之后,我现在得到以下错误:{:error,:einval}

需要帮忙吗

defmodule Utils do
   def zip_test do
    data = {"demo.txt", File.read!("demo.txt")}
    IO.puts(inspect(data, @format))
    :zip.create("demo.zip", [data], [:memory])
  end
end

erlang函数所需的参数类型是erlang字符串类型。在erlang中,字符串类型是整数列表。在erlang中,作为一种快捷方式,您可以创建带有双引号的整数列表,例如hello。该列表将包含指定字符的ASCII码。另一方面,在elixir中,双引号创建一个elixir字符串,它相当于erlang二进制类型。因此,当需要提供整数列表时,可以提供二进制参数

您可以使用elixir函数从elixir字符串创建整数列表:

:zip.create(String.to_charlist("demo.zip"),
           [String.to_charlist("demo.txt")],
           [:memory])
或者,您可以在elixir中使用单引号创建整数列表:

:zip.create('demo.zip', 
            ['demo.txt'], 
            [:memory])

有关更多信息,请参见。

erlang函数所需的参数类型为erlang字符串类型。在erlang中,字符串类型是整数列表。在erlang中,作为一种快捷方式,您可以创建带有双引号的整数列表,例如hello。该列表将包含指定字符的ASCII码。另一方面,在elixir中,双引号创建一个elixir字符串,它相当于erlang二进制类型。因此,当需要提供整数列表时,可以提供二进制参数

您可以使用elixir函数从elixir字符串创建整数列表:

:zip.create(String.to_charlist("demo.zip"),
           [String.to_charlist("demo.txt")],
           [:memory])
或者,您可以在elixir中使用单引号创建整数列表:

:zip.create('demo.zip', 
            ['demo.txt'], 
            [:memory])

有关更多信息,请参阅。

我一定是在某种程度上弄乱了我的代码,我不久前使用过这个:zip:create。ThanksI一定是把我的代码弄乱了,我不久前用过这个:zip:create。谢谢