在Erlang中,内置的head和tail函数在哪里?

jfgube3f  于 2022-12-08  发布在  Erlang
关注(0)|答案(2)|浏览(145)

我知道可以使用模式匹配从列表中提取头部和尾部。但这是 * 必要的 * 吗?在lists模块和erl中没有名为headtail的东西。(它确实包括nth/2nthtail/2,它们更强大,但这些似乎是实现headtail的不自然的冗长方法。)
我在顶级名称空间中也找不到它们:

Erlang/OTP 24 [erts-12.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit]

Eshell V12.0  (abort with ^G)
1> head([1,2]).
** exception error: undefined shell command head/1
2> tail([1,2]).
** exception error: undefined shell command tail/1
5ktev3wc

5ktev3wc1#

模式匹配是访问列表中的头和尾的推荐方法。经常使用函数来访问它们的代码可能不是很好的Erlang惯用语言。然而,在很少的情况下,这些函数确实很有用。你可以在this link的其他Erlang内置函数中找到它们,名称为hdtl

jm81lzqq

jm81lzqq2#

模式匹配是函数式编程语言中操作数据的标准方法,Erlang也不例外。因此也存在一种处理List的方法。再一次,Listnative/built-in/primitive类型,可用的是那些hdtl BIF(s)来操作它们。

相关问题