Как проанализировать таблицу данных Lua в словаре C # или другом используемом классе? - PullRequest
0 голосов
/ 03 июля 2018

У меня есть этот файл Lua, который содержит следующий код:

options = {
["VR"] = {
    ["box_mouse_cursor"] = false,
    ["custom_IPD"] = 63.5,
    ["custom_IPD_enable"] = true,
    ["enable"] = false,
    ["hand_controllers"] = false,
    ["pixel_density"] = 2,
    ["prefer_built_in_audio"] = true,
    ["use_mouse"] = true,
    }
}

Я пытаюсь найти сборку, которая будет анализировать это во что-то, что можно использовать в моем .Net Framework 4.5.1 C # проекте. LuaInterface - это проект стандарта .NET 2.0, который нельзя использовать в .Net Framework 4.5.1, поэтому он не обсуждается.

Существуют ли какие-либо инструменты, которые могут анализировать эту информацию и надеяться снова ее сериализовать?

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

0) Скачать LuaInterface 2.0.3
1) Добавить LuaInterface.dll в проект C #, скопировать lua51.dll в папку проекта
2) Изменить app.config (добавить свойство в тег запуска)

<startup useLegacyV2RuntimeActivationPolicy="true">

3) Напишите код C # для чтения нужных вам значений:

using LuaInterface;

        Lua lua = new Lua();
        string Lua_code = @"
            options = {
                [""VR""] = {
                    [""box_mouse_cursor""] = false,
                    [""custom_IPD""] = 63.5,
                    [""custom_IPD_enable""] = true,
                    [""enable""] = false,
                    [""hand_controllers""] = false,
                    [""pixel_density""] = 2,
                    [""prefer_built_in_audio""] = true,
                    [""use_mouse""] = true,
                }
            }
        ";
        lua.DoString(Lua_code);
        double custom_IPD_value = (double)lua["options.VR.custom_IPD"];
        textBox1.Text = custom_IPD_value.ToString();
0 голосов
/ 04 июля 2018

Я хотел бы рассмотреть возможность использования Lua для кодирования структуры вложенных таблиц в JSON. Это даст вам стандартный формат для записи на диск и / или простого перехода в другую базу кода. При поиске этого онлайн (lua table encode json) или даже здесь, на SO, люди могут использовать несколько опций, которые пытаются крутить педали в своих библиотеках Lua JSON для кодирования / декодирования, когда задают подобные вопросы. Здесь , например, обратный случай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...