Дополнительно
Проверить, если строка-это'т nil или пустой в Lua
Я'вэ некоторые в настоящее время некоторые Луа код, используя следующий синтаксис:
if (foo == nil or foo == '') then
foo = "some default value"
end
Цель условие if, чтобы проверить Foo является ни пустой строкой, ни нулевую ценность.
Может ли этот код быть упрощена в одном, если вместо теста два?
33
2
Одна простая вещь вы можете сделать, это абстрактный тест внутри функции.
"ноль" и
''
различные значения. Если вам нужно проверить чтоS
не является, ИМО, вы должны просто сравнить против обоих, потому что это делает ваши намерения, самый четкий.Что и несколько альтернатив, с их сгенерированный байт-код:
Второй является самым быстрым в Lua 5.1 и 5.2 (во всяком случае на моей машине), но разница мизерная. Я'd переход с первой на ясность'ы ради.