Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Модуль fun

Luafun, также известная как библиотека для функционального программирования в Lua, пользуется преимуществами LuaJIT, чтобы помочь пользователям создавать сложные функции. Модуль включает в себя "последовательные процессоры", такие как map, filter, reduce, zip – они берут написанную пользователем функцию в качестве аргумента и применяют ее к каждому элементу в последовательности, что может работать быстрее или более удобно, чем написанный пользователем цикл. Модуль включает в себя "генераторы", такие как range, tabulate и rands – они возвращают ограниченный или неограниченный ряд значений. Модуль включает в себя "преобразователи", "фильтры", "компоновщики" ... или, коротко говоря, все важные функции из таких языков, как Standard ML, Haskell или Erlang.

Полная документация доступна по ссылке в разделе luafun на GitHub. Однако первую главу можно пропустить, так как установка уже выполнена — модуль входит в состав Tarantool. Достаточно выполнить обычный вызов require. После этого все операции, описанные в руководстве по Lua fun, будут работать при условии, что перед ними указывается имя, возвращаемое вызовом require. Например:

tarantool> fun = require('fun')---...tarantool> for _k, a in fun.range(3) do         >   print(a)         > end123---...