2015-12-03 105 views
-3

我是erlang和編程的新手。打印erlang中的單元格網格

我想創建一個小區,其中,電池是作爲的「網格」:

+ + 

+ + 

我所知道的是寬度和網格的高度。

因此,例如,3×3網格表示爲:

+ + + + 

+ + + + 

+ + + + 

+ + + + 

print_grid(Height,Width) - > 和比某些代碼在這裏。

有人可以給我一個小費如何解決這個問題?

+0

不太清楚的downvotes是。 OP對於編程來說是新的*,所以它不是不可能的,只要他能夠單獨解決這個問題,功能頭就是如此。 – zxq9

+0

關於如何開始編程有很多指導。這個「問題」更多地是一個「給我代碼,請」的情況,而不涉及任何努力在OPs部分。 –

回答

1

對於這個問題,你可以使用此功能

grid(_,0)->ok; 

grid(W,H)-> 
    io:format(string:copies("+ ",W-1)++"+~n~n"), 
    grid(W,H-1). 

輸出:

sol:grid(6,3). 
+ + + + + + 

+ + + + + + 

+ + + + + + 



15> sol:grid(3,3). 
+ + + 

+ + + 

+ + + 
1

我懷疑你不需要其他功能一樣在細胞中加入一些字符,但你應該能夠修改此:

4> Pgrid= fun(W,H) -> L = lists:foldl(fun(_,Acc) -> "+ " ++ Acc end,"~n~n",lists:seq(1,W+1)), 
4>  G = lists:foldl(fun(_,Acc)-> L ++ Acc end,[],lists:seq(1,H+1)), 
4>  io:format(G)                     
4>  end.                       
#Fun<erl_eval.12.54118792> 
5> Pgrid(6,3).                     
+ + + + + + + 

+ + + + + + + 

+ + + + + + + 

+ + + + + + + 

ok 
6>