For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Reading a data file and sensing EOF in Lua
In Lua, the standard table io includes an io.open code element that lets you open a file. This returns a userdata to you (looks like a table but isn't - it's a C accessible structure) from which you can run the read code. Empty lines return an empty string (in Lua this is a TRUE value, unlike other languages), and at the end of file a nil is returned. See source code
You do need to write your reading loop as while true do
, as you are not allowed to assign a value to a variable within the test condition - the =
sign is not an operator in the same way that it is in other languages.
Covered on our Learning to Program in Lua
course. (written 2009-08-10)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesU110 - Lua - Input / Output 
Lua examples, Lua Courses - (2008-08-08) 
Formatting with a leading + / Lua and Perl - (2008-10-15) 
Python or Lua - which should I use / learn? - (2011-12-21)
Some other Articles
Finding literals rather than patterns in LuaDot, dot, dot in Lua - variable length parameter listsThe indexed and hashed parts of a Lua tableAutomatically initialising Lua variables the first timeReading a data file and sensing EOF in LuaWorld Flags in your PHP pagesTraining Classes in other tonguesKoulutus, Open Source tietokone kielill[c2]äldning, Open Source dator spr[c2]åkOppl[c2]æring, Open Source datamaskinen spr[c2]åk
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).