diff options
Diffstat (limited to 'lua.html.markdown')
| -rw-r--r-- | lua.html.markdown | 15 | 
1 files changed, 11 insertions, 4 deletions
| diff --git a/lua.html.markdown b/lua.html.markdown index 7325a1cf..27ce105b 100644 --- a/lua.html.markdown +++ b/lua.html.markdown @@ -125,6 +125,9 @@ f = function (x) return x * x end  -- And so are these:  local function g(x) return math.sin(x) end +local g = function(x) return math.sin(x) end +-- Equivalent to local function g(x)..., except referring +-- to g in the function body won't work as expected.  local g; g  = function (x) return math.sin(x) end  -- the 'local g' decl makes g-self-references ok. @@ -133,6 +136,10 @@ local g; g  = function (x) return math.sin(x) end  -- Calls with one string param don't need parens:  print 'hello'  -- Works fine. +-- Calls with one table param don't need parens +-- either (more on tables below): +print {} -- Works fine too. +  ----------------------------------------------------  -- 3. Tables. @@ -203,7 +210,7 @@ f2 = {a = 2, b = 3}  metafraction = {}  function metafraction.__add(f1, f2) -  sum = {} +  local sum = {}    sum.b = f1.b * f2.b    sum.a = f1.a * f2.b + f2.a * f1.b    return sum @@ -266,7 +273,7 @@ eatenBy = myFavs.animal  -- works! thanks, metatable  Dog = {}                                   -- 1.  function Dog:new()                         -- 2. -  newObj = {sound = 'woof'}                -- 3. +  local newObj = {sound = 'woof'}          -- 3.    self.__index = self                      -- 4.    return setmetatable(newObj, self)        -- 5.  end @@ -301,7 +308,7 @@ mrDog:makeSound()  -- 'I say woof'         -- 8.  LoudDog = Dog:new()                           -- 1.  function LoudDog:makeSound() -  s = self.sound .. ' '                       -- 2. +  local s = self.sound .. ' '                 -- 2.    print(s .. s .. s)  end @@ -322,7 +329,7 @@ seymour:makeSound()  -- 'woof woof woof'      -- 4.  -- If needed, a subclass's new() is like the base's:  function LoudDog:new() -  newObj = {} +  local newObj = {}    -- set up newObj    self.__index = self    return setmetatable(newObj, self) | 
