【发布时间】:2015-12-14 01:38:15
【问题描述】:
进行列表附加的常规方法是通过:
10> [1,2,3] ++ [4].
[1,2,3,4]
但是在我将其转换为以下方式后,我实际上不明白这里的结果是什么意思:
11> [1,2, 3] ++ 4.
[1,2,3|4]
谁能给我一个解释?非常感谢。
【问题讨论】:
-
使用
++作为在列表尾部附加值的手段实际上不是“正常”的方式。如果左侧操作数是一个大列表,++的运行时成本会很高。 “正常”的方式是先累积[Head | Rest],然后再反向。 -
是的,我知道使用 head-first 语义要好得多。但我只想弄清楚
[1,2,3|4]在 Erlang 中的含义。 @迷宫乐 -
我也想知道这一点,因为我一直假设,如果你有表达式
[Head|Rest],Rest必须是一个列表......显然不是这样以你的例子(Rest似乎是整数 4)
标签: erlang