A = [1,2,3]
Вывод должен быть:
[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)]).
Да, вы можете поместить два предложения в понимание и заставить второе возвращать два элемента для каждого элемента в первом:
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"]