【问题标题】:Erlang's equivalent of Haskell's as-patternsErlang 相当于 Haskell 的 as 模式
【发布时间】:2012-12-31 14:01:35
【问题描述】:

如何在 Erlang 中编写与 Haskell sn-p 等效的代码?

name@(x:xs)

【问题讨论】:

    标签: list haskell erlang as-pattern


    【解决方案1】:

    您可以使用Name=[X|Xs] 之类的语法来完成此操作。一个示例用法是

    headlist([H|T]=L) -> io:format("List (~p) with head ~p ~n",[L,H]).
    

    【讨论】:

    • 请注意,将更具体的模式放在左边,变量放在右边通常更易读,如 headlist([H|T]=L) -> .... 这样, 多个子句可以更好地对齐,并且您首先关注匹配的内容而不是额外的变量。
    • 我同意@RichardC,但我只想说两者都是合法的并且彼此完全等效。
    • @RichardC 我在 erlang 中编码不多,所以我对编码实践不是很熟悉。感谢您指出这一点。
    猜你喜欢
    • 2017-07-09
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2015-04-14
    • 2010-11-20
    相关资源
    最近更新 更多