]]> ]]>

Lua 5.0

Версия реализации Lua языка программирования Lua

Основные особенности версии Lua 5.0 — совместная многопоточность, полный lexical scoping вместо upvalues, метатаблицы вместо тэгов и методов тэгов. В версии 5.0 также впервые представлены булевы переменные, proper tail calls, и слабые (weak) таблицы. Другие нововведения включают улучшенную поддержку пакетов, новый API для загрузки Lua chunks, новый протокол обработки ошибок, улучшенный сообщения об ошибках и др.

Lua 5.0 — первая версия, выпущенная под новой лицензией.

Примеры:

Факториал - Lua (1):

Используется рекурсивное определение факториала.

function factorial(n)
    if (n == 0) then
        return 1
    else
        return n * factorial(n - 1)
    end
end

for n = 0, 16 do
    io.write(n, "! = ", factorial(n), "\n")
end

Hello, World! - Lua (103):

print("Hello, World!")

Числа Фибоначчи - Lua (104):

Используется рекурсивное определение чисел Фибоначчи.

function fibonacci(n)
    if n<3 then
        return 1
    else
        return fibonacci(n-1) + fibonacci(n-2)
    end
end

for n = 1, 16 do
    io.write(fibonacci(n), ", ")
end
io.write("...\n")

Числа Фибоначчи - Lua (105):

Вычисленные числа хранятся в ассоциативном массиве fib и извлекаются из него для вычисления следующих. По умолчанию ассоциативные массивы в Lua используют целочисленные ключи, начинающиеся с 1, поэтому команда fib = {1, 1} создает массив с индексами элементов 1 и 2.

fib = {1, 1}
for n = 3, 16 do
    fib[n] = fib[n-1] + fib[n-2]
end
for n = 1, 16 do
    io.write(fib[n], ", ")
end
io.write("...\n")

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам