是否可以查看字符串是否與表名相同?使用type()函數查看當前字符串是否存在,如表
例如: 我知道一個名爲'os'的表存在,並且我有一個字符串"os"
。 有那麼辦法做到這一點:
x="os"
if type(x)=="table" then
print("hurra, the string is a table")
end
當然,這個例子不會工作就像我希望它因爲
type(x)
只返回「字符串」。
爲什麼我想這樣做的原因,是僅僅因爲我想列出所有現有的Lua表,所以我做了這段代碼:
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
我不會感到驚訝,如果有一個更簡單的方法來列出所有現有的表格,我只是在學習Lua的過程中爲了好玩而做這些。
真棒,非常感謝。知道必須有一個簡單的方法來做到這一點:) – Michelrandahl 2011-03-09 18:48:19