Python функция продукта itertools в lua - PullRequest
0 голосов
/ 19 января 2020

Я ищу способ реализации python -подобной комбинаторной функции product из библиотеки itetools с аргументом repeat в lua.

Я нашел эту библиотеку https://github.com/aperezdc/lua-itertools/blob/master/itertools.lua но не уверен, что это может быть полезно для меня, потому что я не смог найти там функцию product

Каким может быть алгоритм для реализации такой функции?

1 Ответ

1 голос
/ 20 января 2020

Вы можете использовать эту функцию:

function ProductRepeat(tab, repeatCount)
    local result = { {} }

    for _ = 1, repeatCount do
        local newResult = { }

        for _, r in ipairs(result) do
            for _, v in ipairs(tab) do
                table.insert(newResult, { v, unpack(r) })
            end
        end

        result = newResult
    end

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