gpt4 book ai didi

erlang - 比较 Erlang 中的数组元素

转载 作者:行者123 更新时间:2023-12-05 01:36:55 25 4
gpt4 key购买 nike

我正在尝试学习如何以函数式编程的方式思考,为此,我正在尝试学习 Erlang 并解决来自codingbat 的简单问题。我遇到了比较列表中元素的常见问题。例如,将第 i 个位置元素的值与列表的第 i+1 个位置的值进行比较。所以,我一直在思考和寻找如何在 Erlang(或任何函数式语言)中以函数式的方式做到这一点。

请对我温柔点,我在这个功能世界中很新,但我想学习

提前致谢

最佳答案

定义一个列表:

L = [1,2,3,4,4,5,6]

定义一个函数 f,它接受一个列表
  • 如果匹配一个元素的列表或空列表,则返回空列表
  • 如果它匹配第一个元素和第二个元素,则取第一个元素并通过递归调用列表的其余部分来构造一个新列表
  • 否则跳过列表的第一个元素。

  • 在 Erlang 代码中
    f ([]) -> [];
    f ([_]) -> [];
    f ([X, X|Rest]) -> [X | f(Rest)];
    f ([_|Rest]) -> f(Rest).

    应用功能
    f(L)

    这应该可以工作......还没有编译和运行它,但它应该让你开始。此外,如果您需要对其进行修改以使其表现不同。

    欢迎来到 Erlang ;)

    关于erlang - 比较 Erlang 中的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7916787/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com