gpt4 book ai didi

erlang - Elixir - 递归列表值的总和

转载 作者:行者123 更新时间:2023-12-04 16:21:18 25 4
gpt4 key购买 nike

只是尝试对列表值进行简单的求和。

defmodule Mth do 

def sum_list([]) do
0
end

def sum_list([H|T]) do
H + sum_list(T)
end

end

IO.puts Mth.sum_list([1, 2, 300])

但我得到这个错误:
**(FunctionClauseError) no function clause matching in Mth.sum_list/1
pokus.ex:3: Mth.sum_list([1, 2, 300])
pokus.ex:14: (file)
(elixir) src/elixir_lexical.erl:17: :elixir_lexical.run/2
(elixir) lib/code.ex:316: Code.require_file/2**

最佳答案

您需要对变量和函数名称使用小写字母。以大写开头的标识符是为模块保留的:

defmodule Mth do 

def sum_list([]) do
0
end

def sum_list([h|t]) do
h + sum_list(t)
end

end

iex> IO.puts Mth.sum_list([1, 2, 300])
303
:ok

关于erlang - Elixir - 递归列表值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24728416/

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