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 Enum.filter(除一个元素外)_Elixir - Fatal编程技术网

Elixir Enum.filter(除一个元素外)

Elixir Enum.filter(除一个元素外),elixir,Elixir,从这个列表[23,23,35,46]我想排除23并获取[35,46],所以我尝试了 Enum.filter([23,23,35,46],fn x -> x != 23 end) 我得到了“#.作为输出,为什么这不起作用x!=23是有效的布尔值 当这起作用时 Enum.filter([23,23,35,46],fn x -> x == 23 end) #[23,23] “#”的含义是什么?您可以这样做,因为您在第一个示例中期望的输出是35和46,但由于它们在ASCII范围内,因此它

从这个列表
[23,23,35,46]
我想排除
23
并获取
[35,46]
,所以我尝试了

Enum.filter([23,23,35,46],fn x -> x != 23 end)
我得到了
“#.
作为输出,为什么这不起作用
x!=23
是有效的布尔值

当这起作用时

Enum.filter([23,23,35,46],fn x -> x == 23 end)
#[23,23]

“#”的含义是什么?

您可以这样做,因为您在第一个示例中期望的输出是35和46,但由于它们在ASCII范围内,因此它们被解释为字母。因此,基本上,如果一个包含所有整数的列表在ASCII范围内,它将被解释为charlist。在第二个示例中,您得到23,因为它不在ASCII范围内。你只需在列表中列出23条就可以检查这一点。但是如果你试着写35或46,它会被“读”成一个字母。在后台,这两个示例都只是整数列表,但当我们将其输出到终端时,其解释不同。
无论如何,如果您想将它们解释为整数,尽管您的代码很好,但还是检查一下这个

,在这种情况下,Enum.reject可能是一个更好的选择。