[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Suggestion: file:write() and other methods should return file
- From: Marc Balmer <marc@...>
- Date: Sat, 02 Jul 2011 12:56:53 +0200
Am 02.07.2011 12:53, schrieb HyperHacker:
> I just noticed that file:write() returns true on success (though the
> manual doesn't mention any return value). If it were changed to return
> the file, you could write:
>> assert(io.open('foo', 'a+')):write('foooo'):close()
>
> instead of:
>> local file = assert(io.open('foo', 'a+'))
>> file:write('foooo')
>> file:close()
>
> One simple change allows for much shorter, neater code... seems pretty
> Lua-ish to me! :) Other file methods such as file:flush() and
> file:setvbuf() could benefit from the same change. file:seek() as
> well, but then you'd be breaking the API (you'd have to return file
> and position instead of just position). file:read() maybe if you have
> some "read into a table" or "pass the read data to a callback
> function", but now we're getting kind of out there... :)
How do you catch an error then? Not everyone ignores the return code
like you do in your example above...