luau/docs/_posts/2023-02-02-luau-string-interpolation.md
2023-02-03 13:59:31 +02:00

1.2 KiB

layout title
single String Interpolation

String interpolation is the new syntax introduced to Luau that allows you to create a string literal with expressions inside of that string literal.

In short, it's a safer and more ergonomic alternative over string.format.

Here's a quick example of a string interpolation:

local combos = {2, 7, 1, 8, 5}
print(`The lock combination is {table.concat(combos)}. Again, {table.concat(combos, ", ")}.`)
--> The lock combination is 27185. Again, 2, 7, 1, 8, 5.

String interpolation also composes well with __tostring metamethod.

local balance = setmetatable({ value = 500 }, {
    __tostring = function(self)
        return "$" .. tostring(self.value)
    end
})

print(`You have {balance}!`)
--> You have $500!

Known Limitations Script editor will not support auto-formatting string interpolations.

Luau currently does not define any format specifiers for string interpolations.

Luau currently does not support any_function_callwith backticks without parentheses.

Luau currently does not support backtick string literals as a type annotation, so type Foo = Foo is invalid.

Please post any comments or concerns you may have!