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:
22Dogłę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
2Pokażemy więc ‘1’ dla długości, ale ‘2’ dla rozmiaru bajtowego, gdyż ‘ń’ zajmuje więcej niż jeden bajt.
Zobacz także
- Dokumentacja Elixir: https://hexdocs.pm/elixir/String.html
- Tutorial UTF-8 w Elixirze: https://elixir-lang.org/getting-started/binaries-strings-and-char-lists.html