The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз языка программирования Lua 5.3

12.01.2015 21:10

После трёх лет разработки доступен релиз Lua 5.3, быстрого и компактного скриптового языка программирования, получившего большое распространение в качестве встраиваемого (например, для определения конфигурации или для написания расширений). Код интерпретатора Lua написан на языке Си и распространяется под лицензией MIT.

Lua комбинирует простой процедурный синтаксис с мощными возможностями описания данных через использование ассоциативных массивов и расширяемой семантики языка. В Lua используется динамическая типизация, языковые конструкции преобразуются в байт-код, выполняющийся поверх регистровой виртуальной машины с автоматическим сборщиком мусора. Сам интерпретатор оформлен в виде библиотеки, легко интегрируемой в проекты на языках Си и Си++.

Основные новшества:

  • Реализация целочисленного типа "integer". Если ранее тип "number" обеспечивал хранение значений с плавающей точкой (в прошлых выпусках Lua для чисел использовалось только представление с плавающей точкой), то теперь внутренние представления чисел разделены на "integer" и "float". Так как Lua является языком с динамической типизацией, определение типа и преобразование целых и вещественных чисел осуществляется автоматически. При необходимости явного определения константы с плавающей точкой следует явно указывать ".0";
  • Возможность использования 32-разрядных числовых значений. По умолчанию числа хранятся в 64-разрядных переменных, но интерпретатор теперь можно собрать с поддержкой 32-разрядных чисел;
  • Поддержка битовых операторов. Доступны новые операторы "band" (&), "bor" (|), "bxor" (~), "bnot", "shl" (<<) и "shr" (>>);
  • Поддержка UTF-8 и набора библиотечных функций для манипуляции данными в этом формате (utf8.char, utf8.codes, utf8.codepoint, utf8.len, utf8.offset);
  • Появление функций для упаковки и распаковки значений (форматирование и разбор строк): string.pack, string.unpack и string.packsize;
  • В функцию string.dump добавлена опция strip - "string.dump(function [, strip])" для получения бинарного представления функции без отладочных данных;
  • В библиотеку Table и итератор ipairs добавлена поддержка метаметодов;
  • В библиотеку Table добавлена функция table.move для перемещения элементов из одной таблицы в другую;
  • Упрощён API для определения продолжений (continuation function) на языке Си;
  • В C API представлены новые функции: lua_geti, lua_seti, lua_isyieldable, lua_numbertointeger, lua_rotate, lua_stringtonumber;
  • Обособленный интерпретатор Lua теперь может использоваться в качестве калькулятора без необходимости указания префикса "=".


  1. Главная ссылка к новости (http://www.lua.org/news.html...)
  2. OpenNews: Выпуск LuaJIT 2.0.3, JIT-компилятора для языка Lua
  3. OpenNews: В Wikipedia добавлена поддержка разработки шаблонов на языке Lua
  4. OpenNews: Интегрированная среда разработки для языка Lua доступна в виде отдельного продукта
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41441-lua
Ключевые слова: lua
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, AlexYeCu (ok), 21:59, 12/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    UTF-8!!!
    Дождались, ёлки!!!
     
     
  • 2.2, A.Stahl (ok), 22:07, 12/01/2015 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Праздники закончились. Можешь надолго забыть про ёлки...
     
     
  • 3.5, Аноним (-), 00:04, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    К маю ёлку выкидывать надо будет.
     
     
  • 4.8, Аноним (-), 03:08, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Но зачем?
     
     
  • 5.9, клоун (?), 03:48, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вот-вот. Именно. Я только купил вчера. 2,3 метра, куча килограммов, пока в электричке и автобусе её допёр умудохался весь! Потом час собирал-кололся. Хрен я её когда разбирать буду! Каждый год буду покупать по искусственной ёлке пока не выращу в квартире искусственный лес.
     
     
  • 6.10, Аноним (-), 09:26, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И колоться, колоться в этом лесу.
     
     
  • 7.15, Andrey Mitrofanov (?), 10:38, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > И колоться, колоться в этом лесу.

    "Обнаружен тред потребителей кактусов. Нарконазор выезжает!"

     

  • 1.3, asdfghjkl (?), 22:45, 12/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Осталось теперь дождаться luajit.
     
     
  • 2.4, AlexYeCu (ok), 23:59, 12/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А также обновления love2d и loveframes!
     
  • 2.18, Андрей (??), 15:37, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    eix luajit
    [I] dev-lang/luajit
         Available versions:  
         (1)    (~)1.1.6
         (2)    (~)2.0.0_beta7 [M](~)2.0.0_beta8_p1 [M](~)2.0.0_beta10 [M](~)2.0.0 2.0.2 (~)2.0.3
           {lua52compat readline}
         Installed versions:  2.0.3(2)(11:23:40 05.12.2014)(lua52compat)
         Homepage:            http://luajit.org/
         Description:         Just-In-Time Compiler for the Lua programming language

    оно?

     

  • 1.6, Аноним (-), 00:35, 13/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Реализация целочисленного типа "integer"

    Ну наконец-то. Когда я познакомился с lua, у меня волосы встали дыбом от того что там нет целочисленного типа. А вот про то что там не было utf8 до сих пор не знал. Теперь, пожалуй, язык можно и поиспользовать, если больше фатальных недостатков не вылезет.

     
     
  • 2.7, ... (?), 02:35, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Спасибо за ваше сообщение. Ваше мнение очень важно для нас.
     

  • 1.11, Аноним (-), 09:36, 13/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а про mruby так и молчат хотя уже 1.1 версия, и для встраивания он удобней
     
     
  • 2.12, Аноним (-), 09:55, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ненужон
     
     
  • 3.16, Аноним (-), 12:08, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Я на капу нажал, он улете, а скрипач ненужен родной, он только лишнее топливо жрет.
     
  • 2.13, Аноним (-), 10:14, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Удобней чем lua? Тоже можно просто взять и скопировать папку с исходниками в свой код?
     
     
  • 3.14, Аноним (-), 10:20, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    как то так http://matt.aimonetti.net/posts/2012/04/25/getting-started-with-mruby/
     
  • 2.20, Аноним (-), 00:34, 14/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Видел я в какой-то игрушке (secret maryo chronicles кажется или его наследник, забыл как называется) как этот крап встраивают и как на нём пишут. Спасибо нет, от этой дряни нужно держаться как можно дальше.
     

  • 1.17, Аноним (-), 14:37, 13/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    https://ru.wikipedia.org/wiki/Luakit
    ;)
     
     
  • 2.19, Andrey Mitrofanov (?), 16:57, 13/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > ;)

    ""Последняя версия 2012.09.13 (13 сентября 2012)

    + В гитхабе _1_ исправление одной строки в README.md, присланное merge request-ом. -- За год^W два года после того.

     

  • 1.21, Аноним (-), 00:38, 15/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Классы уже добавили?
     
     
  • 2.22, dq0s4y71 (ok), 13:56, 15/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Они там всегда были.
     
     
  • 3.23, fiziologus (?), 16:46, 16/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не совсем классы, но достаточно близко (да и не нужны в Lua чистые классы: высота полёта не та).
     

  • 1.24, Аноним (-), 10:42, 18/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну не совсем классы, но достаточно близко (да и не нужны в Lua чистые классы: высота полёта не та).

    Вы просто не в курсе где КРОМЕ ИГРУШЕК
    используется этот ЯП

     
     
  • 2.25, fiziologus (?), 10:14, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вполне в курсе (сижу в Awesome). Lua за глаза хватает собственного механизма модулей и таблиц (хотя в 5.2 это объединили, но не важно). Если кому-то позарез нужны именно классы, то лучше этому человеку использовать ЯП, где они (классы) изначально есть.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру