2.6 - Функции

Функции в Lua являются первоклассными значениями. Это значит, что функции могут храниться в переменных, передаваться в качестве аргументов другим функциям и возвращаться в качестве результата. Эти свойства придают языку большую гибкость: программа может переопределить функцию для добавления новых возможностей, или просто очистить функцию для создания защитного окружения при запуске участков ненадежного кода (особенно полученного по сети). Более того, Lua предлагает хорошую поддержку функциональному прграммированию, including nested functions with proper lexical scoping; just wait. Наконец, первоклассные функции играют роль ключей в объектно-ориентированных возможностях Lua, как показано в Главе 16.

Lua может вызывать как функции написанные на Lua, так и функции, написанные на C. Все стандартные библиотеки Lua написаны на C. Эти библиотеки содержат функции по работе со строками, функции по работе с таблицами, функции ввода/вывода, функции доступа к основным фозможностям ОС, математические и отладочные функции. Прграммы приложений могут определять другие функции на C.


Hosted by uCoz