Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax

Ответ
 
Опции темы
Старый 15.06.2012, 01:06   #1
Черный крыс
 
Сообщений: n/a
Универсальный конструктор обьектов LUA

Вобсчем задача была такая : создать функцию-конструктор BlitzMAX-обьектов для скриптового языка LUA.

Решение напрашивается само - реализовать используя описатель :

Function Create:Int(lua:Byte ptr)
    Local tid:TTypeId = TTypeId.ForName(lua_tostring(lua, 1))
    lua_pushobject(lua, tid.NewObject())
    Return True
End Function
Далее регистрируем функцию в LUA :

lua_pushcclosure(lua, Create, 0)
lua_setfield(lua, LUA_GLOBALSINDEX, "create")
Ну и пример использования :

--LUA
function test()
    local list = create('TList')
    list.AddLast('one')
    list.AddLast('two')
    list.AddLast('three')
    return list
end
'BMX
Local script:TScript = LoadScript("Test.lua")

Local list:TList = TList(script.Execute("test"))

For Local s:String = EachIn list
    DebugLog(s)
Next
Задача решена. =)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
dimanche13 (15.06.2012), Dzirt (15.06.2012), moka (16.06.2012)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 16:31.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com