Шукати в цьому блозі

2. Функції.


----------------------------------------------------
-- 2. Функції.
----------------------------------------------------

function fib(n)
  if n < 2 then return 1 end
  return fib(- 2) + fib(- 1)
end

 
function adder(x)
   
  return function (y) return x + y end
end

a1 = adder(9)
a2 = adder(36)
print(a1(16))  --> 25
print(a2(64))  --> 100

 

x, y, z = 1, 2, 3, 4
-- Зараз x = 1, y = 2, z = 3, а 4 викидається

function bar(a, b, c)
  print(a, b, c)
  return 4, 8, 15, 16, 23, 42
end

x, y = bar('zaphod')  --> друкує "zaphod  nil nil"
-- Тепер x = 4, y = 8, значення 15..42 відкидаються

-- Функції першого класу, можуть бути локальними / глобальними.
-- These are the same:
function f(x) return x * x end
= function (x) return x * x end

-- And so are these:
local function g(x) return math.sin(x) end
local g; g  = function (x) return math.sin(x) end
-- the 'local g' decl makes g-self-references ok.

 
print 'hello'  -- вивести текст в консоль

Немає коментарів:

Дописати коментар