如何在 Erlang 中设置基本案例
How to set a base case in Erlang
我目前正在尝试在 Erlang 中为递归步骤设置一个基本案例,但是,每当我这样做时,我都会收到警告 variable New_Array is unused
。我很好奇我将如何为这个函数设置一个基本情况,因为当我设置它时它似乎默认为 运行 基本情况而不是首先递归。
% base case
function(List, Array, 0) ->
print_board(Array);
function(List, Array, Size) ->
% do stuff here
New_Array = Array,
function(List, Array, Size-1).
在此先感谢您的帮助!
Erlang 正在检查您是否声明了一个变量但未使用它。这是一个必须分析的有趣警告,因为它经常指出您的程序中存在问题。
在第一个子句的情况下,您检测递归的基本情况,因为大小为 0,并且在这种情况下只想 return 变量数组。在这种情况下,函数的第一个参数是无用的。为了向 Erlang 表明这一点,您可以将变量命名为 _
或 _List
.
% base case
function(_List, Array, 0) ->
print_board(Array);
function(List, Array, Size) ->
% do stuff here
New_Array = Array, %% the compiler will complain also because New_Array is unused
function(List, Array, Size-1).
我目前正在尝试在 Erlang 中为递归步骤设置一个基本案例,但是,每当我这样做时,我都会收到警告 variable New_Array is unused
。我很好奇我将如何为这个函数设置一个基本情况,因为当我设置它时它似乎默认为 运行 基本情况而不是首先递归。
% base case
function(List, Array, 0) ->
print_board(Array);
function(List, Array, Size) ->
% do stuff here
New_Array = Array,
function(List, Array, Size-1).
在此先感谢您的帮助!
Erlang 正在检查您是否声明了一个变量但未使用它。这是一个必须分析的有趣警告,因为它经常指出您的程序中存在问题。
在第一个子句的情况下,您检测递归的基本情况,因为大小为 0,并且在这种情况下只想 return 变量数组。在这种情况下,函数的第一个参数是无用的。为了向 Erlang 表明这一点,您可以将变量命名为 _
或 _List
.
% base case
function(_List, Array, 0) ->
print_board(Array);
function(List, Array, Size) ->
% do stuff here
New_Array = Array, %% the compiler will complain also because New_Array is unused
function(List, Array, Size-1).