1
A
回答
3
可以使用string.gmatch
拆分它,那麼就打造你想要的表,試試這個:
local pprint = require('pprint')
example="foo/bar/test/hello"
v={}
s=v
for i in string.gmatch(example, "(%w+)") do
v[i]={}
v=v[i]
end
pprint(s)
PS。爲了打印表格,我在這裏使用。
1
遞歸是自然的使用工具。這是一個解決方案。爲了簡單起見,convert
返回一個表。
S="foo/bar/test/hello"
function convert(s)
local a,b=s:match("^(.-)/(.-)$")
local t={}
if a==nil then
a=s
t[a]={}
else
t[a]=convert(b)
end
return t
end
function dump(t,n)
for k,v in pairs(t) do
print(string.rep("\t",n)..k,v)
dump(v,n+1)
end
end
z=convert(S)
dump(z,0)
如果你真的需要設置一個全局變量foo
,那麼這樣做結尾:
k,v=next(z); _G[k]=v
print(foo)
0
下面是另一個(非遞歸)可能性:
function show(s)
local level = 0
for s in s:gmatch '[^/]+' do
io.write('\n',(' '):rep(level) .. s .. ' = {')
level = level + 2
end
for level = level-2, 0, -2 do
io.write('}',level > 0 and ',\n' or '\n',(' '):rep(level-2))
end
end
show 'foo/bar/test/hello'
相關問題
- 1. 轉換陣列成一個字符串
- 2. 字符串轉換成陣列
- 3. 轉換一個字符串轉換成陣列
- 4. 轉換一個javascript字符串轉換成2維陣列
- 5. 轉換數字數組轉換成字符串單元陣列
- 6. 轉換編碼陣列的字符串轉換成對象
- 7. 字符串轉換爲矩陣(陣列)
- 8. 將一個字符串數組轉換成一個短陣列
- 9. 轉換字符串轉換成陣列而不夫特3
- 10. 字符串轉換的一個列表轉換成字典
- 11. Matlab的字符串轉換爲陣列
- 12. 將多個陣列轉換爲字符串PHP
- 13. Python數據陣列字符串轉換成列出
- 14. 將字符串轉換爲int陣列
- 15. 陣列字符串轉換通知
- 16. 轉換陣列呈現爲字符串
- 17. 陣列到字符串轉換
- 18. 轉換陣列字符串爲int angularjs
- 19. 陣列到字符串轉換
- 20. 字符串到陣列轉換
- 21. 陣列字符串轉換ArrayChoiceList
- 22. 轉換陣列連接字符串
- 23. 分割字符串轉換成數字陣列
- 24. 將Python轉換爲Lua:替換列表中的字符串
- 25. 轉換單個字符串座標成CLLocationCoordinate2D陣列和使用該陣列在MapView生成多邊形
- 26. 分割字符串轉換成C中的陣列++
- 27. 合併多陣列成字符串
- 28. 歇字符串/陣列成較小的字符串/陣列
- 29. 轉換計算字符串在Lua
- 30. 在陣列轉換一個字符串元素分成多個元件在同一陣列中
謝謝你,它工作正常! – Ale32bit