Как вернуть число или таблицу для функции, используя luabind :: object? - PullRequest
0 голосов
/ 04 июля 2019

Рассмотрим следующую функцию, которая возвращает таблицу с тем же содержимым, что и v.elements:

luabind::object Foo(Bar& v, lua_State* L)
{
    luabind::object obj = luabind::newtable(L);
    for (unsigned int i = 0; i < v.count; ++i)
    {
        obj[i + 1] = v.elements[i];
    }
    return obj;
}

Как мне отредактировать эту функцию, чтобы она возвращала таблицу, когда v.count больше 1, но возвращает одно число (не таблицу), равное v.elements [0], когда v.count равно 1?

Предположим, что v.elements имеет тип std::array<int, N>, где N >= 1. Предположим также, что v.count >= 1 и v.count <= N.

...