将整数附加到 erlang 中的列表是什么意思?
Whet does it means to append a integer to a list in erlang?
添加列表的正常方法是通过:
10> [1,2,3] ++ [4].
[1,2,3,4]
但是我把它转换成下面的方式后,我其实不明白这里的结果是什么意思:
11> [1,2, 3] ++ 4.
[1,2,3|4]
谁能给我解释一下?非常感谢。
Erlang 列表在 Getting Started with Erlang User's Guide in chapter Sequential Programming and subchapter Lists 中进行了描述。运算符 |
将列表的头部与尾部分开。正确的列表以空列表结尾。 ,
的语法只是语法糖。
1> [1|[2|[3|[]]]].
[1,2,3]
类似于 Lisp 中的 CONS
函数。不以空列表结尾的列表称为不正确列表。
2> [1|[2|[3|4]]].
[1,2,3|4]
您通过附加数字而不是正确的列表来创建不正确的列表。 ([4]
是正确的列表 [4|[]]
。)请参阅我的 了解它在 BEAM VM 内部如何工作的更多细节。
添加列表的正常方法是通过:
10> [1,2,3] ++ [4].
[1,2,3,4]
但是我把它转换成下面的方式后,我其实不明白这里的结果是什么意思:
11> [1,2, 3] ++ 4.
[1,2,3|4]
谁能给我解释一下?非常感谢。
Erlang 列表在 Getting Started with Erlang User's Guide in chapter Sequential Programming and subchapter Lists 中进行了描述。运算符 |
将列表的头部与尾部分开。正确的列表以空列表结尾。 ,
的语法只是语法糖。
1> [1|[2|[3|[]]]].
[1,2,3]
类似于 Lisp 中的 CONS
函数。不以空列表结尾的列表称为不正确列表。
2> [1|[2|[3|4]]].
[1,2,3|4]
您通过附加数字而不是正确的列表来创建不正确的列表。 ([4]
是正确的列表 [4|[]]
。)请参阅我的