在 erlang 中使用列表理解增加列表大小
Increase list size using list comprehension in erlang
A = [1,2,3]
输出应该是:
[1,one,2,two,3,three]
是否可以得到这样的输出?
是的,您可以在推导式中放入两个子句,并使第二个子句 return 两个元素对应第一个子句中的每个元素:
1> F = fun
1> (1) -> "one";
1> (2) -> "two";
1> (3) -> "three"
1> end.
#Fun<erl_eval.6.127694169>
2> [B || A <- [1, 2, 3], B <- [A, F(A)]].
[1,"one",2,"two",3,"three"]
我认为最后一段代码的输出是
[[1 ,"one"] , [2, "two"] , [3 , "tree"]].
一些正确的答案是
lists:append([begin T = case I of
1 -> "One" ;
2->"Two";
3->"Three";
_ -> "" end ,
[I ,T] end
|| I <- lists:seq(1,3)]).
A = [1,2,3]
输出应该是:
[1,one,2,two,3,three]
是否可以得到这样的输出?
是的,您可以在推导式中放入两个子句,并使第二个子句 return 两个元素对应第一个子句中的每个元素:
1> F = fun
1> (1) -> "one";
1> (2) -> "two";
1> (3) -> "three"
1> end.
#Fun<erl_eval.6.127694169>
2> [B || A <- [1, 2, 3], B <- [A, F(A)]].
[1,"one",2,"two",3,"three"]
我认为最后一段代码的输出是
[[1 ,"one"] , [2, "two"] , [3 , "tree"]].
一些正确的答案是
lists:append([begin T = case I of
1 -> "One" ;
2->"Two";
3->"Three";
_ -> "" end ,
[I ,T] end
|| I <- lists:seq(1,3)]).