如何在 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).