Lua 5.2, тестовый вариант |
Здравствуйте, гость ( Вход | Регистрация )
Lua 5.2, тестовый вариант |
28.1.2010, 21:31
Сообщение
#1
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Изменения в lua.
Изменения в api.
|
|
|
28.1.2010, 21:48
Сообщение
#2
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
Советую еще почитать не самую свежую, но тем не менее полезную
|
|
|
28.1.2010, 21:57
Сообщение
#3
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Я уже в плагин рус хаба встроил Lua 5.2 чтобы проверить изменения
За статейку спасибо. |
|
|
28.1.2010, 22:01
Сообщение
#4
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
Отлично) кстати погляди еще
|
|
|
28.1.2010, 22:05
Сообщение
#5
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Эти дополнительные функции не используются пока, и как их использовать пока не известно. Поэтому ждём финального релиза
|
|
|
28.1.2010, 22:08
Сообщение
#6
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Чем эта версия Луа лучше предыдущей?
Из списка изменений не очевидны преимущества (на мой непросвещённый взгляд). |
|
|
28.1.2010, 22:13
Сообщение
#7
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
Trans не скажи, меня лично порадовало loadin (что это такое можешь почитать на хабре, ссылкой выше). Если встраивал луа в си, тогда оценишь преимущества. А так, о преимуществах можно говорить только поработав и с тем и с другим.
Setuper ну они есть в lua 5.2? Ну я так полагаю luaL_tostring() аналогична tostring() только применяется в другом. |
|
|
28.1.2010, 22:15
Сообщение
#8
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
luaL_tostring() - это сишная функция, а не lua функция.
|
|
|
28.1.2010, 22:16
Сообщение
#9
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Понятно. Это даже не альфа..
"То, что выложено на публику даже не альфа — это просто снапшот рабочего кода. К релизу может измениться всё, что угодно." (с) |
|
|
29.1.2010, 23:43
Сообщение
#10
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Цитата Функции table.maxn больше нету. Если вам она необходима, напишите её на lua. Идиотизм, чесслово. Кому она мешала? И вообще, в чейнджлоге только и видно, что "Удалено-Переименовано", "Переименовано-Удалено". А что добавлено-то? Это больше напоминает имитацию бурной деятельности, чем разработку. PS. Переименовывать и кромсать мы и сами могем, даже при полном незнании С/С++. |
|
|
30.1.2010, 15:03
Сообщение
#11
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
2alex82:
Хотел написать то же самое... |
|
|
8.4.2013, 18:24
Сообщение
#12
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Уже почти полтора года прошло с момента выхода Lua 5.2, и вот наконец я добрался до тестирования сего чуда программерской мысли. И вот что я вам скажу. Дела с ним обстоят еще хуже, чем я ожидал...
Уже на этапе сборки выяснилось, что опция LUA_COMPAT_MODULE, добавляющая обратно "устаревшую" функцию luaL_register, используемую при подключении дополнительных библиотек, не работает как надо. А все потому, что функция luaL_register не может экспортироваться, ибо реализована она как макрос: Код #define luaL_register(L,n,l) (luaL_openlib(L,(n),(l),0)) Слегка недоумевая, переписываем функцию по-человечески: Код LUALIB_API void (luaL_register) (lua_State *L, const char *libname, const luaL_Reg *l) { Теперь вроде как все в порядке, совместимость со старыми библиотеками обеспечена (за исключением тех, что используют lua_setfenv и lua_getfenv, ибо окружение функций теперь тоже устарело). Но не тут-то было. Библиотеки одна за другой отказываются подключаться, ибо не находят в lua.dll то lua_tonumber, то lua_call, то еще какую-нибудь важную функцию C API. Снова открываем lauxlib.h, в котором совсем недавно мы нашли чудо-функцию-макрос luaL_register, который по мнению разработчиков должен был экспортироваться, и медленно выпадаем в осадок:luaL_openlib(L, libname, l, 0); } Код #define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL) Код #define luaL_newlibtable(L,l) \ lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1) #define luaL_newlib(L,l) (luaL_newlibtable(L,l), luaL_setfuncs(L,l,0)) #define luaL_argcheck(L, cond,numarg,extramsg) \ ((void)((cond) || luaL_argerror(L, (numarg), (extramsg)))) #define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) #define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) #define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) #define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) #define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) #define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) #define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) #define luaL_dofile(L, fn) \ (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) #define luaL_dostring(L, s) \ (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) #define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) #define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) #define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL) И.т.д., и.т.п. Всего около двадцати функций. Важных функций, без которых не написать сколько-нибудь серьезную библиотеку. Первым делом у меня мелькнула мысль, что я чего-то недопонимаю, но непродолжительное общение с гуглом расставило все точки над Ё - макрос есть директива препроцессору, и линковщик НИКАК не сможет экспортировать его. P.S. Если бы я владел португальским, то спросил бы у разработчиков Lua лишь одно - зачем привлекать наркоманов к разработке такой сложной штуки, как язык программирования? P.P.S. Давайте жить дружно, и юзать Lua 5.1 |
|
|
8.4.2013, 20:15
Сообщение
#13
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Дааа... не хорошо.
Получается они оставили только статическую совместимость Цитата Here we list the incompatibilities that you may find when moving a program from Lua 5.1 to Lua 5.2. You can avoid some incompatibilities by compiling Lua with appropriate options (see file luaconf.h). However, all these compatibility options will be removed in the next version of Lua. Similarly, all features marked as deprecated in Lua 5.1 have been removed in Lua 5.2. Кстати, при переходе с Lua 4 на Lua 5 было тоже самое, также были удалены устаревшие функции и были несовместимости. |
|
|
23.4.2013, 3:04
Сообщение
#14
|
|
Начинающий Группа: Пользователи Сообщений: 20 Регистрация: 20.2.2013 Из: Россия Пользователь №: 11 340 Спасибо сказали: 2 раза |
Видимо не все в порядке в бразильском монастыре...
Хотел спросить, переход с 5.0 на 5.1 вызывает столько же геморроя ? Или это более реально? |
|
|
25.4.2013, 2:15
Сообщение
#15
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
KMV
Если собрать Lua 5.1 с включенными опциями совместимости, то не должно быть геморроя. Это не 5.2, там нету бреда с макросами-функциями. |
|
|
25.4.2013, 4:16
Сообщение
#16
|
|
Начинающий Группа: Пользователи Сообщений: 20 Регистрация: 20.2.2013 Из: Россия Пользователь №: 11 340 Спасибо сказали: 2 раза |
|
|
|
29.4.2013, 0:05
Сообщение
#17
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
|
|
|
4.6.2013, 9:32
Сообщение
#18
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 1 Регистрация: 4.6.2013 Пользователь №: 11 541 Спасибо сказали: 0 раз |
Прошу прощения за подобный вопрос - какую литературу стоит изучить по Lua? |
|
|
|
Сейчас: 27.11.2024, 3:53 |