A = [1,2,3]
输出应为:
[1,one,2,two,3,three]
是否有可能获得这样的输出?
答案 0 :(得分:4)
是的,您可以在理解中放入两个子句,并使第二个子句为第一个子句的每个元素返回两个元素:
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 :(得分:0)
我认为最后一个代码的输出结果是
[[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)]).