[Logo]
LUA Форум
  [Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
Как передать из С++ и вернуть обратно map?  XML
Индекс форума » LUA: Общие вопросы
Автор Сообщение
stayer
Новичок

Зарегистрирован: 14/03/2010 15:31:46
Сообщений: 3
Оффлайн

Доброго всем дня.
Вопрос возможно глупый и тысячу раз обсосаный, НО.
В общем предыстория - есть у меня, например мапа из 1000 элементов - <ID, State>;
Я хочу передеать в луашный скрипт эту самую мапу, ее там обработать и вернуть ее измененную в вызывающую программу.
Как такое сделать? Не подскажите?
Пользуюсь тулзами описаными в 4 шаге - Я люблю ЛУА - http://ilovelua.narod.ru/step4.html
z00n
Постоянный посетитель

Зарегистрирован: 15/02/2008 12:15:56
Сообщений: 96
Оффлайн

stayer wrote:
В общем предыстория - есть у меня, например мапа из 1000 элементов - <ID, State>;
Я хочу передеать в луашный скрипт эту самую мапу, ее там обработать и вернуть ее измененную в вызывающую программу.


Вы должны написать на С++ функции обработки map и обернуть их в луа-функции (http://www.lua.org/pil/26.html).

Ваш вопрос звучит так, как-будто вам хочется сделать преобразование:
с++-map ---> lua-table ---> processing ---> с++-map

... не нужно так делать. Но если вы отдаете себе отчет - PIL, глава 25 (http://www.lua.org/pil/25.1.html).
stayer
Новичок

Зарегистрирован: 14/03/2010 15:31:46
Сообщений: 3
Оффлайн

z00n wrote:

Ваш вопрос звучит так, как-будто вам хочется сделать преобразование:
с++-map ---> lua-table ---> processing ---> с++-map

... не нужно так делать.


А почему так не надо делать? Можно подробнее? Я только учусь...
z00n
Постоянный посетитель

Зарегистрирован: 15/02/2008 12:15:56
Сообщений: 96
Оффлайн

stayer wrote:
А почему так не надо делать?

C большой вероятностью расходы на преобразование из формата в формат будут больше расходов на собственно обработку. Поэтому, если данные обрабатываются преимущественно на стороне луа, то и хранить их лучше на стороне луа в таблице и запрашивать их со стороны С++ в уже обработанном виде по мере необходимости.
Конечно, бывают ситуации (например не вы написали с++ часть) когда преобразования приходится делать.
 
Индекс форума » LUA: Общие вопросы
Перейти:   
Powered by JForum 2.1.8 © JForum Team