21 lines
511 B
Plaintext
21 lines
511 B
Plaintext
:- module string_byte_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):-
|
||
NumBytes = count_utf8_code_units(String),
|
||
io.format("%s: %d bytes\n", [s(String), i(NumBytes)], !IO).
|