Форум программистов, компьютерный форум, киберфорум
Lua
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
17 / 17 / 2
Регистрация: 29.10.2013
Сообщений: 269

Lua и С++. Обращение к таблице, вложенной в др. таблицу

13.04.2020, 14:37. Показов 1881. Ответов 3
Метки c++, lua (Все метки)

Студворк — интернет-сервис помощи студентам
Пример, есть глобальная таблица player
Lua
1
2
3
4
5
6
7
8
player = {
    position = {
        x = 30.0,
        y = 20.0,
        z = 0.0
    },
    name = "player.png"    
}
И есть функция
Lua
1
2
3
4
5
6
function getkeys(name, name2)   
    for k, v in pairs(_G[name.name2]) do
            print (k)
        keyset[#keyset+1]=k
    end
end
Собственно как обратится "position", исп. аргументы, что бы значения брал только из неё?

Вызываю фу-ию из с++ так:
C++
1
2
LuaRef f= getGlobal(L, "getkey");
    f("player", "position");
Исп. luabridge вместе с с++.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.04.2020, 14:37
Ответы с готовыми решениями:

Обращение к файлу в папке вложенной в drawable
Добрый день! Никак не могу получить доступ к картинке расположенной в папке, которую вложил в drawable. Перепробовал все известные мне...

Запрос к вложенной таблице в СКД
Добрый день! Платформа 1С 8.3. Пишу запрос к документу "СписаниеБезналичныхДенежныхСредств" В запросе обращаюсь к табличной части...

К вложенной таблице создать форму ввода и запросы
К вложенной таблице, необходимо создать: 1. дополнительную форму ввода, которая позволяет менять время отправления и наличие билетов 2....

3
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
13.04.2020, 15:46
Вам из плюсов нужно получить значения x,y,z ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
LuaRef player = getGlobal(L, "player");
LuaRef position = player["position"];
LuaRef x = position["x"];
LuaRef y = position["y"];
LuaRef z = position["z"];
 
int x_value = x.cast<int>();
int y_value = y.cast<int>();
int z_value = z.cast<int>();
 
// Под рукой бриджа нет, но возможно, что можно сразу так:
 
int x = getGlobal(L, "player")["position"]["x"].cast<int>();
0
17 / 17 / 2
Регистрация: 29.10.2013
Сообщений: 269
13.04.2020, 15:59  [ТС]
Цитата Сообщение от vantfiles Посмотреть сообщение
Вам из плюсов нужно получить значения x,y,z ?
Это был пример. Мне хочется иметь более универсальный код, на случай, если не известно кол-во переменных в таблице
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
13.04.2020, 16:19
Лучший ответ Сообщение было отмечено nublin1 как решение

Решение

а, итератор?

C++
1
2
3
4
5
6
7
8
LuaRef player = getGlobal(L, "player");
LuaRef position = player["position"];
 
for( luabridge::Iterator it(position); !it.isNil(); ++it )
{
    auto k = it.key();
    auto v = it.value();
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.04.2020, 16:19
Помогаю со студенческими работами здесь

Получить таблицу Lua С++
Добрый день! Есть Lua скрипт торгового терминала Quik, в котором вызывается функция getQuoteLevel2 (class_code, sec_code), - здесь...

Обращение к полю в таблице.
Здравствуйте. Имеется подчиненная форма, в которой указаны дни. поля называю 1, 2, 3, 4 и так до 31. Иногда необходимо например с 5 по...

Обращение к записи в таблице
Не подскажите как обратиться к записи в таблице MS Access

обращение к таблице в iframe
не могу изменить ячейку таблицы, расположенную в iframe. iframe генерируется при нажатии на кнопку. В него помещается этаже страница. ...

Обращение к таблице fat
привет, пишу под msdos,tasm Вопрос: как обратится к таблицы FAT, перебрать её и каждый кластер проверить и подсчитать кол-во свободных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru