Erlang реализует различные функции, чтобы проверить, является ли список плоским списком в модуле io_lib. Несмотря на комментарий Джереми Стена, есть функция проверки, если плоский список содержит символы Юникода, а также версию latin1.
Если вы хотите проверить для плоских списков Юникода вы можете использовать io_lib: char_list (Term) http://erlang.org/doc/man/io_lib.html#char_list-1
io_lib: 1 реализация char_list/функция:
char_list([C|Cs]) when is_integer(C), C >= 0, C < 16#D800;
is_integer(C), C > 16#DFFF, C < 16#FFFE;
is_integer(C), C > 16#FFFF, C =< 16#10FFFF ->
char_list(Cs);
char_list([]) -> true;
char_list(_) -> false.
Один хороший выбор для проверки latin1, закодированные строки является io_lib: latin1_char_list (срок) http://erlang.org/doc/man/io_lib.html#latin1_char_list-1
io_lib: latin1_char_list/1 реализация функции :
latin1_char_list([C|Cs]) when is_integer(C), C >= $\000, C =< $\377 ->
latin1_char_list(Cs);
latin1_char_list([]) -> true;
latin1_char_list(_) -> false.
Проверьте документацию модуля io_lib на другие подобные функции.
Спасибо. да, я действительно думал об этом псевдопечатании, но я не знал, хорошо ли это сделать в Эрланге. – Zubair
Другим вариантом, который я видел, является сохранение всех строк в виде двоичных файлов. –