エラーをデバッグしてundefined
いて、それがリストに追加されていたことがわかりました。これにより、後でクラッシュが発生しました。
演算子を使用してリスト以外のものを追加する++
と、クラッシュが発生することを期待していました。しかし、これはには当てはまりませんundefined
。次に例を示します。
1> [1,2,3] ++ undefined.
[1,2,3|undefined]
クラッシュしませんが、リストは完全には機能しなくなりました。
1> L = [1,2,3] ++ undefined.
[1,2,3|undefined]
2> L ++ [4].
** exception error: bad argument
in operator ++/2
called as [1,2,3|undefined] ++ [4]
なぜこれが起こるのですか?これはerlangでのリストの基本的な実装に関連していますか?