Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
elixir具有管道运算符的多个参数_Elixir - Fatal编程技术网

elixir具有管道运算符的多个参数

elixir具有管道运算符的多个参数,elixir,Elixir,我试图加载一个非常大的JSON文件并将其绑定到一个变量,下面是我失败的代码 deps = File.open("../DepMap.json") |> IO.read(:all) |> JSX.decode 我要回来了 ** (FunctionClauseError) no function clause matching in :io.request/2 (stdlib) io.erl:556: :io.request({:error, :enoent}, {:

我试图加载一个非常大的JSON文件并将其绑定到一个变量,下面是我失败的代码

deps = File.open("../DepMap.json")
    |> IO.read(:all) 
    |> JSX.decode
我要回来了

** (FunctionClauseError) no function clause matching in :io.request/2
(stdlib) io.erl:556: :io.request({:error, :enoent}, {:get_line, :unicode, ""})
(elixir) lib/io.ex:82: IO.do_read_all/2
lib/depchecker.ex:6: (module)
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6

我错过了什么?我假设File.open的结果作为第一个参数传递给IO.read(:all),但这是这里的失败点,我不确定如何纠正

File.open
返回
{:ok,pid}
{:error,reason}
。第二个是在失败的情况下。这里您得到的是
{:error,:enoint}
意味着文件不存在-您可能需要找出那里的路径有什么问题

您可能还想使用
文件的bang版本。在管道中打开

deps = File.open!("../DepMap.json")
|> IO.read(:all) 
|> JSX.decode

此操作类似于
File.open
,但会引发异常而不是返回错误值。成功时,它只返回表示文件的
pid
,这是
IO.read
调用所需的。

文件。open
返回
{:ok,pid}
{:error,reason}
。第二个是在失败的情况下。这里您得到的是
{:error,:enoint}
意味着文件不存在-您可能需要找出那里的路径有什么问题

您可能还想使用
文件的bang版本。在管道中打开

deps = File.open!("../DepMap.json")
|> IO.read(:all) 
|> JSX.decode

此操作类似于
File.open
,但会引发异常而不是返回错误值。成功时,虽然它只返回表示文件的
pid
,这是
IO.read
调用所需的。

谢谢,我解析了我的路径,然后使用bang更正了我的其他错误。谢谢,我解析了我的路径,然后使用bang更正了我的其他错误。