Merkkijonon interpolointi

Elixir:
Merkkijonon interpolointi

How to:

Interpolointi Elixirissä hoituu #{} syntaksilla. Tässä pari esimerkkiä:

nimi = "Pekka"
tervehdys = "Hei, #{nimi}!"
IO.puts(tervehdys)

Tulostuu:

Hei, Pekka!

Toinen esimerkki laskutoimituksen kanssa:

luku = 4
viesti = "Kertolaskun tulos on #{luku * 2}."
IO.puts(viesti)

Tulostuu:

Kertolaskun tulos on 8.

Deep Dive

Merkkijonot ja interpolointi ovat keskeinen osa ohjelmointia. Ruby-yhteisöstä vaikutteensa saaneessa Elixirissä syntaksi on suunniteltu olemaan intuitiivinen. Historiallisesti tämä on peruja sellaisista kielistä kuin Perl ja sen myötä Ruby, jotka molemmat painottivat helppolukuisuutta ja tehokkuutta string-käsittelyssä.

Vaihtoehtoisesti voitaisiin käyttää merkkijonoyhdistämistä, mutta se saattaa johtaa sekavaan ja vaikeasti ymmärrettävään koodiin, jos yhdistettäviä osia on paljon.

Toteutuksen yksityiskohdista puhuttaessa, Elixirin string-interpolointi on makro, joka korvataan käännösaikana. Tämä tarkoittaa sitä, että suorituskykyyn ei tule hidastusta ajonaikaisen evaluoinnin seurauksena.

See Also