21 lines
517 B
Text
21 lines
517 B
Text
|
|
:- module string_character_length.
|
|||
|
|
:- interface.
|
|||
|
|
|
|||
|
|
:- import_module io.
|
|||
|
|
|
|||
|
|
:- pred main(io::di, io::uo) is det.
|
|||
|
|
|
|||
|
|
:- implementation.
|
|||
|
|
|
|||
|
|
:- import_module list, string.
|
|||
|
|
|
|||
|
|
main(!IO) :-
|
|||
|
|
Words = ["møøse", "𝔘𝔫𝔦𝔠𝔬𝔡𝔢", "J\x332\o\x332\s\x332\e\x301\\x332\"],
|
|||
|
|
io.write_list(Words, "", write_length, !IO).
|
|||
|
|
|
|||
|
|
:- pred write_length(string::in, io::di, io::uo) is det.
|
|||
|
|
|
|||
|
|
write_length(String, !IO) :-
|
|||
|
|
NumChars = count_codepoints(String),
|
|||
|
|
io.format("%s: %d characters\n", [s(String), i(NumChars)], !IO).
|