The manual says:
If control reaches the end of a function without encountering a return , the function returns without results.
Note that returning a result is not different from returning nil .
In this call:
print(x(true), x(false), x(false))
both x(false) do not return anything, however everything except the last element is always corrected for only one result.
Usually we see a function call that returns one or more results, remaining only with the first. Here the result is not filled with the nil character.
source share