← Все вопросы
Как склеить текст и число в Lua для print (Roblox)? Выдаёт ошибку при ..
4
Хочу вывести "Очки: " + score, как привык в других языках, а Roblox ругается. Как в Lua правильно соединить текст с числом, чтобы вывести "Очки: 50"?
2 ответа
8
✓ Принятый ответ — помог автору
В Lua строки склеиваются не плюсом, а двумя точками .. (а + — только для чисел, отсюда и ошибка).
local score = 50
print("Очки: " .. score) -- Очки: 50
Lua сам превратит число в текст при склейке через ... А вот так делать нельзя:
print("Очки: " + score) -- ОШИБКА: attempt to perform arithmetic
потому что + пытается сложить как числа, а "Очки: " — не число.
Есть и более удобный способ — передать значения в print через запятую, тогда склейка не нужна:
print("Очки:", score) -- Очки: 50 (print сам поставит пробел)
3
Для красивого текста на экране (GUI) удобно собрать строку через ..:
label.Text = "Уровень " .. level .. " из 10"
А если внутри есть число, которое нужно округлить — оберни в math.floor(...) перед склейкой, иначе вылезут длинные дробные хвосты вроде 3.0000001.
Ваш ответ
Войдите, чтобы ответить на вопрос.