2016-03-29 27 views
2

Ben bu bir ['a','b','c','d'] ve ne gerek gibi o listedeki her öğenin bir yapıştırmayın eklemektir gibi bir liste var o zaman foreach1 ve iki birine dizeleri ve daha sonra lists:append concat Ana liste, ama bu benim için işe yaramadı. Denedim neListelerdeki öğelere bir dize yapıştırın: Erlang'da düzleştirin? Ben 1lists kullanarak çalıştı <code>['[email protected]','[email protected]','[email protected]','[email protected]']</code></p> <p>:

Örnek: Önceden

LISTa = [], 
lists:foreach(fun (Item) -> 
    LISTa = lists:append([Item,<<"@erlang">>]) 
end,['a','b','c','d']) 

teşekkürler.

+2

Dikkatli olun, listeler, ikili dosyalar ve atomları karıştırıyor gibi görünüyorsunuz. 'a' bir atomdur. "a" bir listedir ve <<"a">> ikilidir. Veriler farklı türlerden olursa, onlara uymak için sohbet etmeniz gerekir. –

cevap

0

Bu (Liste comprehensions kullanarak) hile olacaktır:

1> L = ["a","b","c","d"]. 
["a","b","c","d"] 
2> R = [X ++ "@erlang" || X <- L]. 
["[email protected]","[email protected]","[email protected]","[email protected]"] 
3> 

Ben dizeleri atomları değişti Bildirimi; Erlang'da "uçarak/dinamik olarak atomlar yaratmak" için cesaret kırıldı, bu yüzden aklımda çerçevelenmiş var. Hala ihtiyacınız varsa, uygulamayı biraz değiştirin ve gitmek için iyi bir şeysiniz.

Not: Atomlar ve ikili dosyalar arasındaki birleştirme, bir şekilde, amacına uygun olarak yapmadığınız bir şey olduğunu varsayalım.

+0

Yardımın için teşekkürler, çekicilik gibi çalışır. evet bunu amaca göre yapmadım. – menico

İlgili konular