如何为列表创建序列函数?
How to make a sequence function for lists?
我正在尝试在 Erlang 中创建一个包含多个整数的列表。因此,如果我传入 5
,它将创建一个包含 [1,2,3,4,5]
的列表。这是我目前的代码。
所以我想将列表命名为 tower1
-module(towers).
-export([create_towers/1]).
create_towers( 0 ) -> [];
create_towers( N ) when N > 0 -> create_towers( N-1 ) ++ [N].
代码很好,问题是语法
-module(towers).
-export([create_towers/1]).
create_towers(0) ->
[];
create_towers(N) when N > 0 ->
create_towers(N-1) ++ [N].
工作正常
Eshell V7.1 (abort with ^G)
(emacs@Mac-mini-de-Rodrigo)1> c("/Users/rorra/erlang/towers", [{outdir, "/Users/rorra/erlang/"}]).
{ok,towers}
(emacs@Mac-mini-de-Rodrigo)2> towers:create_towers(0).
[]
(emacs@Mac-mini-de-Rodrigo)3> towers:create_towers(10).
[1,2,3,4,5,6,7,8,9,10]
如果你想让它调用创建的列表tower1:
(emacs@Mac-mini-de-Rodrigo)2> Tower1 = towers:create_towers(5).
[1,2,3,4,5]
注意所有变量都是大写开头的,如果要命名模块towers1,将文件名改为tower1.erl并添加:
-module(tower1).
-export([create_towers/1]).
create_towers(0) ->
[];
create_towers(N) when N > 0 ->
create_towers(N-1) ++ [N].
然后您可以像这样调用 towers1:create_towers(N):
(emacs@Mac-mini-de-Rodrigo)2> MyVar = tower1:create_towers(5).
[1,2,3,4,5]
我正在尝试在 Erlang 中创建一个包含多个整数的列表。因此,如果我传入 5
,它将创建一个包含 [1,2,3,4,5]
的列表。这是我目前的代码。
所以我想将列表命名为 tower1
-module(towers).
-export([create_towers/1]).
create_towers( 0 ) -> [];
create_towers( N ) when N > 0 -> create_towers( N-1 ) ++ [N].
代码很好,问题是语法
-module(towers).
-export([create_towers/1]).
create_towers(0) ->
[];
create_towers(N) when N > 0 ->
create_towers(N-1) ++ [N].
工作正常
Eshell V7.1 (abort with ^G)
(emacs@Mac-mini-de-Rodrigo)1> c("/Users/rorra/erlang/towers", [{outdir, "/Users/rorra/erlang/"}]).
{ok,towers}
(emacs@Mac-mini-de-Rodrigo)2> towers:create_towers(0).
[]
(emacs@Mac-mini-de-Rodrigo)3> towers:create_towers(10).
[1,2,3,4,5,6,7,8,9,10]
如果你想让它调用创建的列表tower1:
(emacs@Mac-mini-de-Rodrigo)2> Tower1 = towers:create_towers(5).
[1,2,3,4,5]
注意所有变量都是大写开头的,如果要命名模块towers1,将文件名改为tower1.erl并添加:
-module(tower1).
-export([create_towers/1]).
create_towers(0) ->
[];
create_towers(N) when N > 0 ->
create_towers(N-1) ++ [N].
然后您可以像这样调用 towers1:create_towers(N):
(emacs@Mac-mini-de-Rodrigo)2> MyVar = tower1:create_towers(5).
[1,2,3,4,5]