Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите понять этот цикл на Lua

Антон Гончаров Профи (704), открыт 2 недели назад
Почему функция работает именно так. Число суммируется с единицей умножается на число и делится на два. Уже десять минут не могу понять эту логику.

Я разобрался, что 1+2+3+4 до 17 = 153. Мне интересно именно последнее print, чтобы мне его объяснили.

local n = 17
local sum = 0
for i = 1, n do
sum = sum + i
end
print(sum) -> 153
print("Функция работает = ".. tostring(sum == (n * (n + 1)) /
2))-> "Функция работает = true"
1 ответ
Neo Просветленный (45294) 1 неделю назад
print("Функция работает = ".. tostring(sum == (n * (n + 1)) /2))

Вызов функции print, ей передается строчка:

Функция работает =

далее конкатенация .. (объединение строк) с результатом функции перевода результата в строку (конвертирует в строку то что ей (tostring) передали)

а передали ей результат логической операции проверки на равенство ==

в результате сравнения получили что равенство верное и оператор == возвращает значение true (логическое) которое функция tostring превращает в тип string что бы можно было слить со строчкой: Функция работает =
Похожие вопросы