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
List 长生不老药从列表中删除零_List_Elixir - Fatal编程技术网

List 长生不老药从列表中删除零

List 长生不老药从列表中删除零,list,elixir,List,Elixir,我得到了以下结构: [nil, %{attributes: %{updated_at: ~N[2017-09-21 08:34:11.899360]}, ...] 我想去掉零。我该怎么做?尝试Enum.reduce/3,但无效。救援: Enum.filter(list, & !is_nil(&1)) 如果您确定列表中不存在false原子(Elixir中的另一个可能的false值),则过滤器可能简化为: Enum.filter(list, & &1)

我得到了以下结构:

[nil,
 %{attributes: %{updated_at: ~N[2017-09-21 08:34:11.899360]},
 ...]
我想去掉零。我该怎么做?尝试
Enum.reduce/3
,但无效。

救援:

Enum.filter(list, & !is_nil(&1))

如果您确定列表中不存在
false
原子(Elixir中的另一个可能的false值),则过滤器可能简化为:

Enum.filter(list, & &1)

另外(归功于@Dogbert),还有一个对应函数“返回
可枚举
元素,函数
fun
返回
false
nil

Enum.reject(list, &is_nil/1)
这对我很有用:

Enum.filter(s, fn x -> if(x != "") do x end end)

啊,不错。尝试了类似List.delete的操作。过滤器,谢谢。解决方案was data=Enum.filter(data,&!is_nil(&1))False不包括在内,所以我只需要检查nil。您的解决方案非常有效。再次感谢:)我之前查询过数据库中的最后更改。有了一个新的数据库,我得到了一些零,不得不将它们删除。另外:
Enum.reject(list,&is_nil/1)
Enum.reject(list,&is_nil/1)
是一个特别优雅的好解决方案!请您的回答对您发布的代码片段的工作原理进行一点扩展。谢谢
Enum.filter(list, fn x -> x != "" end)