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å
- Programming in Lua: Den offisielle boken for å lære Lua.
- Lua 5.4 Reference Manual: string library: Dokumentasjon for strengbiblioteket i Lua 5.4.