assert "12345".length == 5
assert "".length == 0
assert "あいうえお".length == 5
redef fun length: Int do return uchar_string.code_points(code_units)
lib/core/text/u16_string.nit:45,2--69
redef fun length do
sys.length_calls.inc "FlatString"
var l = length_cache
if l != null then return l
sys.length_cache_miss.inc "FlatString"
if byte_length == 0 then return 0
var st = first_byte
var its = items
var ln = 0
var lst = last_byte
while st <= lst do
st += its.length_of_char_at(st)
ln += 1
end
length_cache = ln
return ln
end
lib/text_stat/text_stat.nit:306,2--322,4
redef fun length do
sys.length_calls.inc "FlatBuffer"
return super
end
lib/text_stat/text_stat.nit:246,2--249,4