table.concat joins array-style string values into one string.

join strings Joining values is a common way to turn a small table into display text.

Concat Values

middle
concat_values.lua
Replay: real traced execution (multi-file project)
local middle = "beta"
local joined = table.concat({"alpha", middle, "omega"}, ",")

print("middle=" .. middle)
print("joined=" .. joined)
local middle = "delta"
local joined = table.concat({"alpha", middle, "omega"}, ",")

print("middle=" .. middle)
print("joined=" .. joined)
local middle = "gamma"
local joined = table.concat({"alpha", middle, "omega"}, ",")

print("middle=" .. middle)
print("joined=" .. joined)
  1. middle ← beta, joined ← alpha,beta,omega

    1local middle→ beta = "beta" --@middle="delta", "gamma"2local joined→ alpha,beta,omega = table.concat({"alpha", middlebeta, "omega"}, ",")34print("middle=" .. middlebeta)5print("joined=" .. joinedalpha,beta,omega)
    outputmiddle=beta
    joined=alpha,beta,omega
  1. middle ← delta, joined ← alpha,delta,omega

    1local middle→ delta = "delta"2local joined→ alpha,delta,omega = table.concat({"alpha", middledelta, "omega"}, ",")34print("middle=" .. middledelta)5print("joined=" .. joinedalpha,delta,omega)
    outputmiddle=delta
    joined=alpha,delta,omega
  1. middle ← gamma, joined ← alpha,gamma,omega

    1local middle→ gamma = "gamma"2local joined→ alpha,gamma,omega = table.concat({"alpha", middlegamma, "omega"}, ",")34print("middle=" .. middlegamma)5print("joined=" .. joinedalpha,gamma,omega)
    outputmiddle=gamma
    joined=alpha,gamma,omega

Join the Parts

  1. The table holds alpha, beta, and omega.
  2. table.concat visits the values in order.
  3. The separator is ,.
  4. The joined text is alpha,beta,omega. | Position | Text | | --- | --- | | 1 | alpha | | 2 | beta | | 3 | omega |

Exercise: concat_values.lua

Join three table values with commas and print the middle value and joined text