Search code examples
luastring-concatenation

Concatenating variable into literal string


I'm trying to concatenate a variable into a literal string purely for readability purposes e.g.

myString = "test"
myString2 = [[
first part of the string
this is a " .. myString .. " string
last part of the string]]
print(myString2)

but this literally outputs

first part of the string
this is a " .. myString .. " string
last part of the string

I'm sure it's something simple but I've tried Googling to find out how to achieve this and came up blank.


Solution

  • The quotes inside the double bracket delimiters aren't doing anything. The only way to end the double bracket is with a double bracket:

    myString2 = [[
    first part of the string
    this is a ]] .. myString .. [[ string
    last part of the string]]
    

    That will give you:

    first part of the string
    this is a test string
    last part of the string
    

    See: http://www.lua.org/pil/2.4.html