Выполнение кода here on eval.inПочему значение `sData` не равно нулю?
sMessage = "<hjpotter92> +help|"
local _, _, sCmd, sData = sMessage:find("%b<>%s[%+%-%*%/%!%#%?](%w+)%s?(.*)|")
print(_, sData, sCmd )
Выход print
говорит мой sData
это значение с пустой строкой.
Почему это значение не nil
? Я создал весь проект на основе sData
, являющийся nil
для такого случая, и я нахожу, что это не так.
Я разрешил проблемы с помощью этого блока
if sData:len() == 0 then
sData = nil
end
Итак, я не ищу решение, чтобы сделать эту работу. Я просто спрашиваю, почему это не значение nil
?
Сначала я хотел бы заполнить небольшие компоненты, прежде чем работать над более широкой областью проекта. При этом, насколько мне известно, 'find' никогда не возвращает' nil'. – Zyerah
@Telthien Вы можете [пересмотреть это утверждение] (http://eval.in/15744). – hjpotter92
Я отказался от своего ответа, так как теперь, когда я понимаю, о чем вы спрашиваете, я не знаю, что вызывает его. – Zyerah