mit type () - Funktion, um zu sehen, wenn die aktuelle Zeichenfolge vorhanden ist, die als Tabelle

Ist es möglich zu sehen, wenn eine saite die gleiche wie die Namen einer Tabelle?

Zum Beispiel:
Ich weiß, dass eine Tabelle namens " os " existiert, und ich habe einen string "os".
Gibt es dann eine Möglichkeit, dies zu tun:

x="os"
if type(x)=="table" then
    print("hurra, the string is a table")
end

Natürlich ist dieses Beispiel nicht funktionieren, wie ich es mir vorstelle, weil

type(x)

wird nur return "string".

Der Grund, warum ich dies tun wollen, eben weil ich wollte, um eine Liste aller vorhandenen Lua-Tabellen, so dass ich dieses Stück code:

alphabetStart=97
alphabetEnd=122

function findAllTables(currString, length)

    if type(allTables)=="nil"   then
        allTables={}
    end

    if type(currString)=="table" then
        allTables[#allTables+1]=currString
    end

    if #currString < length then
        for i=alphabetStart, alphabetEnd do
            findAllTables(currString..string.char(i), length)
        end
    end
end

findAllTables("", 2)

for i in pairs(allTables) do
    print(i)
end

Wäre ich nicht überrascht, wenn es eine einfachere Methode, um eine Liste aller vorhandenen Tabellen, ich bin nur tun dies zum Spaß in meine Fortschritte des Lernens Lua.

Schreibe einen Kommentar