我对erlang和一般编程都很陌生。
我想创建一个" Grid"细胞,细胞呈现为:
+ +
+ +
我所知道的是网格的宽度和高度。
因此,例如,3x3网格表示为:
+ + + +
+ + + +
+ + + +
+ + + +
print_grid(Height,Width)
- >
而不是这里的一些代码。
有人可以给我一个如何解决这个问题的小费吗?
答案 0 :(得分:0)
我怀疑你不需要在单元格中添加一些字符等其他功能,但你应该可以修改它:
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>
答案 1 :(得分:0)
对于此问题,您可以使用此功能
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).
+ + +
+ + +
+ + +