Merkkijonon interpolointi

Ruby:
Merkkijonon interpolointi

How to (Kuinka tehdä):

# Muuttujan interpolointi
kayttaja = 'Pekka'
tervehdys = "Hei, #{kayttaja}!"
puts tervehdys
# Output: Hei, Pekka!

# Lausekkeen interpolointi
pisteet = 55
viesti = "Sinulla on #{pisteet / 10.0} tähteä!"
puts viesti
# Output: Sinulla on 5.5 tähteä!

Deep Dive (Sukellus syvemmälle):

Stringin interpolointissa #{…} sisällä oleva koodi suoritetaan, ja sen arvo muunnetaan merkkijonoksi. Tämä tapahtui Rubyssa ensi kertaa version 1.8 myötä ja on siitä lähtien ollut suosittu tapa yhdistää tietoa merkkijonoihin.

Vaihtoehtoina ovat +-merkin käyttö tai sprintf-metodi, mutta ne voivat olla kömpelömpiä ja vähemmän suoraviivaisia. Esimerkiksi:

# Stringin yhdistäminen + merkin avulla
tervehdys = 'Hei, ' + kayttaja + '!'

# sprintf-metodin käyttäminen
tervehdys = sprintf('Hei, %s!', kayttaja)

Interpoloinnissa merkkijonoon voi sijoittaa minkä tahansa Ruby-lausekkeen, joka palauttaa arvon. Järjestelmä kutsuu automaattisesti objektin to_s-metodia sen muuntamiseksi merkkijonoksi, joten voit interpoloida myös muita kuin merkkijonoja.

See Also (Katso myös):