Erlang implementiert verschiedene Funktionen, um zu testen, ob eine Liste eine flache Liste in Modul io_lib ist. Trotz Jeremy Wall-Kommentar gibt es eine Funktion, um zu testen, ob eine flache Liste Unicode-Zeichen sowie Latin1-Version enthält.
Wenn Sie möchten, für flache Unicode-Listen testen, die Sie verwenden können io_lib: char_list (Term) http://erlang.org/doc/man/io_lib.html#char_list-1
io_lib: char_list/1 Funktion Implementierung ist:
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.
Eine gute Wahl für die Überprüfung Latin1 codierte Strings ist io_lib: latin1_char_list (Begriff) http://erlang.org/doc/man/io_lib.html#latin1_char_list-1
io_lib: latin1_char_list/1 Funktion Implementierung ist :
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.
Weitere ähnliche Funktionen finden Sie in der Dokumentation zum io_lib-Modul.
Danke. Ja, ich dachte an diese Pseudo-Typisierung, aber ich wusste nicht, ob es ein guter Weg war, Dinge in Erlang zu tun. – Zubair
Eine andere Option, die ich gesehen habe, ist, alle Zeichenfolgen als Binärdateien zu behalten. –