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”
- Elixirin virallinen String moduuli dokumentaatio
- Unicode standardi
- Elixir School: Oppitunteja Elixirin perusteista, myös merkkijonoista.