I don't really like the way Lua implements classes. The difference between ":" and "." is confusing and the use of advanced features like setmetatable and __index don't seem necessary. Here is how I would implement the examples in the "Programming in Lua" book:
Note that this works fine in Lua as it is. If you think this is good enough, then I won't implement the ":" operator.