Interpolering av en streng

Lua:
Interpolering av en streng

Hvordan gjøre det:

-- Eksempel på enkelt strenginterpolering i Lua
local navn = "Ola"
local hilsen = string.format("Hei, %s!", navn)
print(hilsen)
-- Utdata: Hei, Ola!
-- Avansert bruk med flere variabler
local antallEpler = 3
local antallAppelsiner = 5
local fruktMelding = string.format("Jeg har %d epler og %d appelsiner.", antallEpler, antallAppelsiner)
print(fruktMelding)
-- Utdata: Jeg har 3 epler og 5 appelsiner.

Dypdykk

I historisk kontekst ble strenginterpolering ikke inkludert som en innebygd funksjon i tidligere versjoner av Lua. Dette førte til at programmere måtte bruke omstendelige metoder for å sette sammen strenger, som å binde verdier sammen manuelt. Den nåværende string.format-funksjonen i Lua tar i bruk formatert tekster, ligner på C’s printf-funksjon, noe som gir en kjent syntaks for de som har programmeringsbakgrunn i C eller lignende språk.

Et alternativ til string.format er å bruke konkatenasjon, men dette kan bli rotete når det er mange verdier som skal inkluderes i strengen:

-- Strengkonkatenasjon uten interpolering
local brukernavn = "Kari"
local poeng = 42
local konkatenertStreng = "Brukeren ".. brukernavn .." har oppnådd ".. poeng .." poeng."
print(konkatenertStreng)
-- Utdata: Brukeren Kari har oppnådd 42 poeng.

For implementeringsdetaljer, string.format-funksjonen støtter ulike formateringsflagg for å kontrollere representasjonen av tall (som desimaler, heksadesimaler osv.), noe som gjør den svært rik og fleksibel.

Se Også