Number of characters contained in self.

assert "12345".length == 5
assert "".length == 0
assert "あいうえお".length == 5

Property definitions

core $ Text :: length
	# Number of characters contained in self.
	#
	# ~~~
	# assert "12345".length == 5
	# assert "".length == 0
	# assert "あいうえお".length == 5
	# ~~~
	fun length: Int is abstract
lib/core/text/abstract_text.nit:49,2--56,28

core $ FlatText :: length
	redef var length = 0
lib/core/text/abstract_text.nit:1427,2--21

core $ U16String :: length
	redef fun length: Int do return uchar_string.code_points(code_units)
lib/core/text/u16_string.nit:45,2--69

core $ Concat :: length
	redef var length is noinit
lib/core/text/ropes.nit:77,2--27

text_stat :: text_stat $ FlatString :: length
	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

text_stat :: text_stat $ FlatBuffer :: length
	redef fun length do
		sys.length_calls.inc "FlatBuffer"
		return super
	end
lib/text_stat/text_stat.nit:246,2--249,4