Values and Types
Strings
Strings store text, concatenate with .., and report length with #.
string length
The `#` operator returns the length of a string.
Strings
strings.lua
Replay: real traced execution (multi-file project)
local language = "Lua"
local message = "Hello, " .. language
local length = #message
print(message)
print("length=" .. length)
local language = "Python"
local message = "Hello, " .. language
local length = #message
print(message)
print("length=" .. length)
local language = "Ruby"
local message = "Hello, " .. language
local length = #message
print(message)
print("length=" .. length)
language ← Lua, message ← Hello, Lua, length ← 10
1local language→ Lua = "Lua" --@language="Python", "Ruby"2local message→ Hello, Lua = "Hello, " .. languageLua3local length→ 10 = #messageHello, Lua45print(messageHello, Lua)6print("length=" .. length10)outputHello, Lua length=10
language ← Python, message ← Hello, Python, length ← 13
1local language→ Python = "Python"2local message→ Hello, Python = "Hello, " .. languagePython3local length→ 13 = #messageHello, Python45print(messageHello, Python)6print("length=" .. length13)outputHello, Python length=13
language ← Ruby, message ← Hello, Ruby, length ← 11
1local language→ Ruby = "Ruby"2local message→ Hello, Ruby = "Hello, " .. languageRuby3local length→ 11 = #messageHello, Ruby45print(messageHello, Ruby)6print("length=" .. length11)outputHello, Ruby length=11
Follow the String
languagestarts asLua.message = "Hello, " .. language.messagebecomesHello, Lua.#messagegives length10.- The program prints
Hello, Luaandlength=10. | language | message | length | | --- | --- | --- | | Lua | Hello, Lua | 10 | | Python | Hello, Python | 13 | | Ruby | Hello, Ruby | 11 |
Exercise: strings.lua
Reproduce Hello, Lua and length=10, then use Python and Ruby to predict each message and length.