代码之家  ›  专栏  ›  技术社区  ›  Jeffrey Benjamin Brown

在Erlang,内置的头部和尾部功能在哪里?

  •  0
  • Jeffrey Benjamin Brown  · 技术社区  · 3 年前

    我知道可以使用模式匹配从列表中提取头部和尾部。但这是真的吗 必需的 ? 什么都没有 head tail lists 模块和erl。(包括 nth/2 nthtail/2 .)

    我也没有在顶级名称空间中找到它们:

    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
    
    0 回复  |  直到 3 年前
        1
  •  3
  •   Wojtek Surowka    3 年前

    模式匹配是访问head和tail in列表的推荐方法。太频繁地使用函数访问它们的代码可能不是很好的惯用Erlang。然而,在极少数情况下,这些功能确实有用。你可以在其他Erlang内置函数中找到它们 this link 名下 hd tl .

        2
  •  1
  •   Nalin Ranjan    3 年前

    模式匹配是函数式编程语言对数据进行操作的标准方式,Erlang也不例外。因此,也存在一种处理列表的方法。然后再一次, List 成为一个 native / built-in / primitive 类型,有哪些 hd tl BIF在其上运行。