如何nil在 Elixir 中安全地串联列表?
我已经提供了一些情况和响应的内联示例++
看起来nil在连接时被视为一个特殊实体。
为什么会出现这种情况?
\n# Append two empty list \xe2\x9c\x85\niex(1)> [] ++ []\n[]\n# Append empty list to nil \xe2\x9d\x8c\niex(2)> [] ++ nil\nnil # Result should be []\n# Append non empty list to nil \xe2\x9d\x8c\niex(3)> [1] ++ nil\n[1 | nil] # Result should be [1]\n# Append non empty list to nil and enumerate \xe2\x9d\x8c\niex(5)> a = [1, 2] ++ nil\n[1, 2 | nil]\niex(6)> Enum.each(a, fn p -> IO.puts(p) end)\n1\n2\n** (FunctionClauseError) …Run Code Online (Sandbox Code Playgroud)