Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Python, Lua, Tcl, C and C++ training - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, Ruby, MySQL and Linux / Tomcat systems
 
Tables with values and code in Lua - looks like an object?

In Lua, we can use variables to hold both data and code, and we can use tables to hold groups of values (numbers and strings) and code assiciated with those variables too. A new example - [here] on our web site - shows how I can define such a table:

  south = {cars=3,seats=78,time="06:38",destiny="Southampton"}

add a function (code) to it:

  function capacity(of)
    local peeps = math.floor(of.cars * of.seats * 1.4)
    return peeps
  end


  south.getCapacity = capacity

I can then run that code on the data using
  takes = south.getCapacity(south)
or
  takes = south:getCapacity()

The real gains start to come when I produce a whole table of servives, perhaps of different types (trains and buses) with differing code to work out the capacity. The need for "if" and "else" type coding in the getCapacity loop melts away:

  for _,service in ipairs(services) do
    print("Can carry " .. service:getCapacity() .. " to " .. service.destiny)
  end


From our Learning to program in Lua course, running this week, again next week, and available every 2 months next year. Check [here] for the next dates.
(written 2015-11-05)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
U107 - Object Orientation - the Lua way
  [4753] Lua, Tcl, Python, C and C++ courses - at our Melksham HQ or on your site - forward from July 2017 - (2017-07-02)
  [4573] Classic style OO code - in Lua - (2015-11-05)
  [4273] Dot or Colon separator between table name and member in Lua - what is the difference? - (2014-05-06)
  [4248] Metatables, Metamethods, classes and objects in Lua - (2014-03-18)
  [4117] Is Lua an Object Oriented language? - (2013-06-15)
  [3730] What is a metatable? How do I set one up? How do I use them? Lua - (2012-05-12)
  [3727] Using Lua tables as objects - (2012-05-11)
  [3694] Special __ methods you can use in Lua metatables - (2012-04-12)
  [3683] Weak references in Lua - what are they, and why use them? - (2012-04-04)
  [3524] Metaclasses (Python) and Metatables (Lua) - (2011-11-17)
  [3396] Tables as Objects in Lua - a gentle introduction to data driven programming - (2011-08-17)
  [3142] Private and Public - and things between - (2011-01-22)
  [2710] __index and __newindex in Lua - metatable methods - (2010-04-05)
  [2703] Lua Metatables - (2010-04-02)
  [2701] Is Lua an Object Oriented language? - (2010-04-01)
  [2455] Lua examples - coroutines, error handling, objects, etc - (2009-10-15)
  [2359] A fresh example - objects the Lua way - (2009-08-13)
  [2318] For Lua Programmers AND for Town Planners - (2009-08-02)
  [1819] Calling base class constructors - (2008-10-03)
  [1743] First class functions in Lua lead to powerful OO facilities - (2008-08-07)
  [1699] If you are learning Lua, here are some more examples - (2008-07-06)
  [1692] Towards Object Oriented Programming in Lua - (2008-06-30)


Back to
Lua - using modules to add your own utilities
Previous and next
or
Horse's mouth home
Forward to
Classic style OO code - in Lua
Some other Articles
If it's Tuesday it must be Belgium?
Learning not just what a program does, but how to design it in the first place.
repeat until in Lua - a one or more rather than a zero or more loop
Tables with values and code in Lua - looks like an object?
Lua - using modules to add your own utilities
A warm welcome awaits you at Well House Manor, Melksham
Lua - changes to how integers and floats are handled - 5.2 to 5.3
Moderation - and the tendency to over-moderate
Japanese and Malaysian food in Melksham
4750 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 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., 2017: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/4572_Tab ... ject-.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat