如何开始这个Erlang作业?

时间:2016-10-06 03:42:27

标签: erlang

这是我的挑战:

  1. 创建一个函数exists,当项目在列表中时,该函数返回truefalse

    1> exists(2,[1,4,5,3,2]).
    true
    2> exists(2,[]).
    false
    3> exists(2,[4,5,6,7]).
    false   
    
  2. 创建一个函数listLength,它将返回列表的长度。不允许使用本机函数长度。

    1> listLength([1,2,3]).
    3
    2> listLength([]).
    0
    

1 个答案:

答案 0 :(得分:3)

因为它看起来像家庭作业,我希望你不会在这里得到解决方案。我会给你一些线索。

第一个:

  • 有一种情况,当您确定列表中不存在该术语时:列表为空时。
  • 当列表不为空时,您可以访问的列表的唯一元素是列表的头部,因此您必须使用递归来逐个比较列表中的每个元素与输入项。

第二个相同:

  • 你知道一个空列表的长度:0
  • 你知道非空列表的长度是尾部长度的1 +。使用递归逐个计算所有元素。