我试图用Erlang创建一个包含整数的列表,如果我传入5,它将创建一个包含[1,2,3,4,5]的列表,这是我目前拥有的代码。所以我想把这个列表叫做tower1
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].
0kjbasz61#
The code is good, the problem is the syntax
-module(towers). -export([create_towers/1]). create_towers(0) -> []; create_towers(N) when N > 0 -> create_towers(N-1) ++ [N].
works fine
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]
If you want it to call the list created tower1:
(emacs@Mac-mini-de-Rodrigo)2> Tower1 = towers:create_towers(5). [1,2,3,4,5]
notice that all variables starts with upperase, if you want to name the module towers1, change the file name to tower1.erl and add:
-module(tower1). -export([create_towers/1]). create_towers(0) -> []; create_towers(N) when N > 0 -> create_towers(N-1) ++ [N].
and then you can call towers1:create_towers(N) like:
(emacs@Mac-mini-de-Rodrigo)2> MyVar = tower1:create_towers(5). [1,2,3,4,5]
1条答案
按热度按时间0kjbasz61#
The code is good, the problem is the syntax
works fine
If you want it to call the list created tower1:
notice that all variables starts with upperase, if you want to name the module towers1, change the file name to tower1.erl and add:
and then you can call towers1:create_towers(N) like: