Merkkijonon pituuden selvittäminen

Elixir:
Merkkijonon pituuden selvittäminen

How to:

“Näin teet:” Elixirisssa stringin pituuden saa selville String.length/1 funktiolla. Helppoa ja yksinkertaista.

string = "Hei maailma!"
pituus = String.length(string)
IO.puts(pituus)

Tämän pitäisi tulostaa:

12

Toinen esimerkki, jossa on erikoismerkkejä:

string = "Hänellä on 10€"
pituus = String.length(string)
IO.puts(pituus)

Tulostaa:

14

Huomaa, että special merkit lasketaan yksittäisinä merkkeinä.

Deep Dive

“Sukellus syvemmälle” Stringien pituuden laskeminen on perushommaa ja osa ohjelmoinnin perusteita – oli kyseessä mikä kieli tahansa. Historiallisesti, monet kielet käyttivät nollalla päättyviä merkkijonoja, mikä asetti omat rajoituksensa. Elixirissä, kuten muissakin moderneissa kielissä, stringit ovat UTF-8-koodattuja, joten String.length/1 ottaa huomioon Unicode-merkit oikein.

Vaihtoehtona, voit käyttää byte_size/1, jos tarvitset tietää montako tavua string vie muistissa, mutta se ei yleensä ole sama kuin merkkien määrä:

string = "Älä huuda!"
IO.puts(byte_size(string))    # Tulostaa tavujen määrän
IO.puts(String.length(string))  # Tulostaa merkkien määrän

Tulostaa:

11
9

See Also

“Katso myös”