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
]]>