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):
- Ruby-dokumentaatio: String#% kertoo sprintf-metodin käytöstä.
- Ruby-doc.org: String luku, jossa on eritelty muita merkkijonojen käsittelytapoja.
- Why’s (Poignant) Guide to Ruby, hauska ja informatiivinen opas Ruby-ohjelmoinnin alkeisiin.