Увеличьте размер списка, используя понимание списка в erlang - PullRequest
0 голосов
/ 20 сентября 2018

A = [1,2,3]

Вывод должен быть:

[1,one,2,two,3,three]

Возможно ли получить такой вывод?

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Я думаю, что результат последнего кода будет

 [[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)]).
0 голосов
/ 20 сентября 2018

Да, вы можете поместить два предложения в понимание и заставить второе возвращать два элемента для каждого элемента в первом:

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"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...