print("Olá " .. name .. ", o valor da chave " .. k .. " é " .. v .. "!")
Mas podemos otimizar seu uso com ...
De acordo com os autores de Lua, a função string.format
é uma ferramenta poderosa ao formatar strings,
normalmente para saída.
Ele retorna uma versão formatada de seu número variável
de argumentos seguindo a descrição dada por seu primeiro
argumento, a chamada string de formato.
A string de formato tem regras semelhantes às da
função printf do padrão C:
é composta de texto regular e diretivas,
que controlam onde e como cada argumento deve ser
colocado na string formatada.
Exemplo 1:
name="Pablo"
k=5
v=33434
print("Olá " .. name .. ", o valor da chave " .. k .. " é " .. v .. "!")
-- eh equivalente a
print(string.format("Olá %s, o valor da chave %d é %d!",name,k,v))
Exemplo 2:
local pi = 3.14159
local pi_nome = "PI"
print(string.format("O valor de %s é %d, e n\ao é legal?",pi_nome, pi))
A chatice está em escrever string.format() toda vez e isto faz linhas longas.
Portanto vamos encurtá-la
local pi = 3.14159
local pi_nome = "PI"
sf=string.format
print(sf("O valor de %s é %d, e n\ao é legal?",pi_nome, pi))
Você pode saber mais sobre especificadores em:
http://www.cplusplus.com/reference/cstdio/printf/