2c57 For loops in Lua
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
For loops in Lua

As an old Fortran programmer, I remember that a for loop was given a start point, an end point and a step ... and they had to be whole numbers (integers). Lua's for loops can be used that way, but they can be used a lot more flexibly too.

From, to, step for loops

Th egood news is that Lua works in double precision floats throughout, so your from, to and step can be anything you like ... and the step can go forwards or backwards. There's an example here where I report Celsius to Fahrenheit conversions - any step you like. You'll also notice that I have specified whole numbers for the conversion factors and they work ... 9 / 5 gives a result of 1.8 in Lua, not an integer result of 1.

If you're a C, Perl, PHP or Java programmer, you'll be used to for loops where the condition (end point) is checked every time around ... so that if the end condition is chanced within the loop, it effects the number of times that the loop runs. That's not the case with Lua which, like Fortran, decides the number of times the loop will run even before the first iteration is started. See here for an example.

in for loops

If you use an in style for loop, you're looping through an iteration (a set) of values or value pairs. Commonly used functions to generate these iterations are pairs which goes thought EVERY pair of values in a table, ipairs which only goes through the INDEXED pairs (i.e. it starts at element one, then gives elements 2, 3, etc until it finds a missing index at which point in stops, ignoring names elements and elements which are numbered but not in sequence from the start) and string.gmatch which goes though all strings that match a pattern within an incoming longer string.

See here for examples of pairs and ipairs, and here for an example of string.gfind
(written 2009-10-14, updated 2009-10-17)

 
Associated topics are indexed under
U103 - Lua - Conditionals and loops
  [3686] The goto statement in Lua - (2012-04-06)
  [3558] Python or Lua - which should I use / learn? - (2011-12-21)
  [3397] Does a for loop evaluate its end condition once, or on every iteration? - (2011-08-18)
  [2455] Lua examples - coroutines, error handling, objects, etc - (2009-10-15)
  [2351] Ternary operators alternatives - Perl and Lua lazy operators - (2009-08-12)
  [1738] Clean code, jump free (Example in Lua) - (2008-08-06)
  [1696] Saying NOT in Perl, PHP, Python, Lua ... - (2008-07-04)
  [1685] Short circuit evaluation (lazy operator) in Lua - (2008-06-22)


4d5a
Back to
Dark to dark
Previous and next
or
Horse's mouth home
Forward to
Lua examples - coroutines, error handling, objects, etc
Some other Articles
Cant connect to local MySQL server through socket /tmp/mysql.sock
Railway Arithmetic
Bright Eyes
For loops in Lua
Dark to dark
Making executable binaries in Python (or Perl)
Gypsy says
Family Gathering at 404, The Spa
Four aspects - Chamber, Transport, Courses and Hotel
4090 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 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - 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).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2013: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2454_For ... n-Lua.html • PAGE BUILT: Sat Feb 23 12:39:13 2013 • BUILD SYSTEM: wizard
0