Порт LUA (5.2.0)

...
  • У луа своя система вызовов.Я посмотрю на код разных библиотек и подумаю,что с ним делать.А еще посмотрю на код поддержки библиотек в самой луа.Но займусь этим не скоро.Еще много работы над шрифтами
  • Eruman wrote:Для новичков:
    Пока вопросы копятся. Запустил Lua, пример с таблицей вылетает с символом #, только номер строки другой. Стал исключать строки для поиска ошибки.
    Еще непонятно, скармливаю выражение :
    i[1] = 1
    Прога вылетает без сообщений об ошибке на доске. Так и должно быть?
    1) Баг повторить не удается. Оба варианта у меня работают замечательно с рамдрайва на ядре 1739, и на том же ядре не работают нормально с жесткого диска (так и должно быть). С новым ядром работает отовсюду. Может, дело в какой-то ошибке файловой системы?

    2) У меня выводится сообщение об ошибке на доску. В lua нужно инициализировать таблицы. Вот так:

    Code: Select all

    i={}
    i[1]=1
    
  • Есть какие-либо новости в работе над Lua?
  • Возможно скоро сделаю луа 5.2b8 или какой там последний.Что делать с библиотеками-так и не придумал.Заявок на перенос функций системы в стандартную библиотеку не поступало.
  • может сделать модуль kolibri. ?
    например kolibri.window_new(x, y, height, width) ?
  • XVilka wrote:может сделать модуль kolibri. ?
    например kolibri.window_new(x, y, height, width) ?
    Пробовал. Разницы никакой. Если посмотреть на разные расширения для lua, то добавление системных функций в основную библиотеку - обычная практика.
  • А по поводу обертки - возможно загружать динамически функции в луа. см. C API - просто пропихивать в стек имена функции и указатели на них, а также параметры
    Last edited by XVilka on Fri Jul 22, 2011 12:53 am, edited 1 time in total.
  • Блин, точно ведь. Как сразу до меня не дошло :(
    Сложновато будет с типами данных только.
  • по поводу динамической загрузки библиотек - советую посмотреть в сторону luaffi или libffi http://luajit.org/ext_ffi.html
  • Lua 5.2.0
    Теперь официально.

    Добавлены команды ввода-вывода через консоль:

    Code: Select all

    copen() - открыть окно консоли
    cclose() - закрыть окно консоли
    cprintf() - вывести на экран что-нибудь 
    cgets() - считать строку с клавиатуры 
    Пример программы:

    Code: Select all

    copen()
    cprintf("Hello! What is your name?\n")
    name=cgets()
    cprintf("Nice to meet you, ",name,"!\n")
    a=3
    b=2
    c=a+b
    cprintf("I know: a+b=",c,"\n")
    cclose()
    
    Attachments
    lua-5.2.0.7z (96.92 KiB)
    Downloaded 512 times
  • Лучше перенести эти команды в в модуль "console" или "os" или подобное, так будет больше совместимости и идеологически правильнее.
  • Когда я это делал, я вообще не представлял, как модули делать. Сейчас чуть лучше представляю. Так что возможно вообще уберу эти функции и добавлю нормальный вызов библиотек и ассемблерных вставок (о_О, да!)
  • Еще очень полезный модуль есть - lpreg (содержит также модуль re), для работы с паттернами и подобием регулярных выражений, написан на си, можно включить в сборку для колибри
  • Вроде я уже выкладывал - не нашел. В архиве исходники и скрипт для сборки compile.sh.
    Attachments
    lua-5.2.0-src.7z (497.53 KiB)
    Downloaded 455 times
  • Who is online

    Users browsing this forum: No registered users and 4 guests