lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 05/09/2017 17:17, Roberto Ierusalimschy wrote:
I wonder why the first read from an empty file returns nil rather
than an empty string.
E.g. fp:read(10) --> nil

If the zero-sized file exists then it can be interpreted as a file
containing an empty string (IMHO).
Yes, that is a valid interpretation. With that interpretation, all
reads after the last character would return an empty string, as there
are infinite empty strings between the last character and the end of
file.

With this logic we would have an infinite loop in the following case as well:
    for k in (""):gmatch(".*") do print("-",k) end
But we don't.

--
Shmuel