← Все вопросы

Как склеить текст и число в Lua для print (Roblox)? Выдаёт ошибку при ..

Задан 7 месяцев назад1.2к просмотров2 ответа
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.

Ваш ответ

Войдите, чтобы ответить на вопрос.