2016-04-01 18 views
0

aradığım nedir, eklenen metin karakter ve tamsayı içerir ve bunlar değil Listesi'nde karakterErlang: karakter listede olup olmadığını metin ekleme de karakter kontrol

Örnek Liste return false eğer:

List = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"] 

Ve fonksiyonu 1 değere sahip olmalıdır gibi:

check(Text) -> 
    List = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"], 

gibi yerleştirme metin ise:

check("you should + have ....") 

"+" & "cuz return false olmalıdır: Metinde her şey Listesinde

içinde ve benzeri yerleştirme metin ise mevcut cuz gerçek dönmelidir. "Değil. İlk check örnek List olmayan bir dize içeren boşluk, geçer

cevap

7

Not Listesi'nin içinde var, bu yüzden bunu işlemek istiyorum tahmin ediyorum

İşte bu çözmek için tek yoldur.:

check(Text) -> 
    List = "1234567890abcdefghijklmnopqrstuvwxyz \t\n.", 
    lists:all(fun(C) -> lists:member(C, List) end, Text). 

Birincisi, burada, List karakterlerin bir listesini bir dize listesidir başlangıçta belirtilen şekilde değil, ama dikkat. Ben de List uzay, sekme, yeni satır ve dönem karakterleri ekledik

check/1'un ikinci satırı, karaktere göre Text karakterinden geçer. Her bir karakter C için, bunun List üyesi olduğunu kontrol ederiz. Bu sınama, tüm karakterler için true olursa, lists:all/2, true değerini döndürür, aksi halde false değerini döndürür.

+0

Teşekkürler. cazibe gibi çalış. –

İlgili konular