Re: Its okey or not?
'Lars Müller' via lua-l <[email protected]>
| Newsgroups | gmane.comp.lang.lua.general |
|---|---|
| Message-ID | <[email protected]> |
What you're seeing is the difference between "nothing" (the empty vararg) and "nil". In general, a vararg containing some nils is not the same as an empty vararg. Thus varargs are not quite the same as tables, and you need to store their length when storing them in a table. Have you ever wondered how "print()" prints just an empty line, whereas "print(nil)" prints "nil"? Well, now you know :) I have a blog post that covers this: <https://luatic.dev/posts/2025-04-12-lua-misconceptions/#varargs> - Lars On Mon, Feb 9 2026 at 08:21:45 -08:00:00, blogdron (BLOGDRON) <[email protected]> wrote: > Test 1 OK > type(((''):byte())) > > Test 2 ERR bad argument #1 to 'type' (value expected) > type((''):byte()) > > Test 3 OK > string.byte = function (s) return nil end > type((''):byte()) > > Test 4 ERR bad argument #1 to 'type' (value expected) > string.byte = function (s) return end > type((''):byte()) > > "function x() return end" not equal "function x() return nil end"? > This case is for all Lua versions. > > This behavior is probably well-known, but I've never encountered it > before. I thought if a type received a nil, it would simply return a > nil, but sometimes there's literally nothing there, not a nil. Now > I'm paranoid about wrapping everything in parentheses, even if the > function returns only one value :D haha and/or if function return > nothing im force wrote return nil > > I thought I'd share. It seems I still don't know Lua ::) > -- > You received this message because you are subscribed to the Google > Groups "lua-l" group. > To unsubscribe from this group and stop receiving emails from it, > send an email to [email protected] > <mailto:[email protected]>. > To view this discussion visit > https://groups.google.com/d/msgid/lua-l/ff009071-c489-4e98-9bc6-4046fcce63dbn%40googlegroups.com > <https://groups.google.com/d/msgid/lua-l/ff009071-c489-4e98-9bc6-4046fcce63dbn%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "lua-l" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/lua-l/OS97AT.HGTLSRBOGXF92%40gmx.de.