Znalezienie długości ciągu znaków

Elixir:
Znalezienie długości ciągu znaków

Jak to zrobić:

Elixir używa funkcji String.length/1 do znalezienia długości stringa. Oto jak to działa:

# Użyj String.length/1, by znaleźć długość stringa
string = "Witajcie, programiści!"
długość = String.length(string)
IO.puts(długość)

Wynik działania:

22

Dogłębna analiza

W Elixirze, stringi są binarnymi i reprezentują Unicode jako UTF-8. W historii języków programowania różnie to wyglądało; na przykład w C używano strlen, by znaleźć długość stringa. Alternatywą w Elixirze jest byte_size/1, która zwraca liczbę bajtów w stringu, co nie zawsze równa się liczbie znaków ze względu na UTF-8.

# byte_size zamiast String.length
string = "ń"
IO.puts(String.length(string))
IO.puts(byte_size(string))

Wynik:

1
2

Pokażemy więc ‘1’ dla długości, ale ‘2’ dla rozmiaru bajtowego, gdyż ‘ń’ zajmuje więcej niż jeden bajt.

Zobacz także