Перейти к контенту

Язык Lua. Общие вопросы программирования


Malandrinus

Рекомендуемые сообщения

Переменные в Lua по умолчанию принимают значение nil.

Всё что не false и nil - это true (даже пустая строка).

Поэтому явное сравнение с nil, занимает всё же больше времени, нежели банальная подстановка объекта (он либо true, либо false). Но есть мнение, что это не совсем надёжный случай, т.е. проверка if not nil then не всегда срабатывает (у меня такого никогда не было).

 

local val

local time = os.clock()
for i = 1, 1000000 do
	if not val then
	end
end
print (os.clock() - time)

time = os.clock()
for i = 1, 1000000 do
	if val ~= nil then
	end
end
print (os.clock() - time)
Результат как и предполагалось:
0.046
0.063

 

 

Изменено пользователем Barmolini

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...