你好我是一個新手在Lua我只是想知道是否有一種方法來獲取表的關鍵和價值不使用對,ipairs,下一個或其他迭代器?提前致謝。!導航表中不使用對在Lua
1
A
回答
2
我不相信這是可能的,因爲你用這樣的方式表達了你的問題,這意味着密鑰是未知的。檢查某個值及其相應鍵的唯一方法是遍歷整個表。
但是,也許我誤解了,你想從一個鍵獲得一定的價值,而無需遍歷整個表。
假設你有一個莫爾斯命名錶如下:
morse = { a = ".-"; b = "-..."; } -- And so on
如果你想爲一個字符莫爾斯你可以做如下轉換:
morse["a"] --Which will return the string ".-"
你可以做相反,並用下面的所有莫爾斯值和它們相應的字母來定義一個表格。請注意使用方括號來「轉義」字符。
morse = { [".-"] = "a"; ["-..."] = "b" }
morse[".-"] -- This will return "a"
+0
對不起。我忘了說我必須創建一個可以將英文轉換爲莫爾斯或莫爾斯轉換爲英文的莫爾斯電碼。感謝先生的答覆,我嘗試使用這種方法使用對我可以同時獲得關鍵和價值,這就是爲什麼我一直在想我怎麼能得到像'莫爾斯= {[「.-」] =「a」}莫爾斯鍵= [「a」]會返回「a」而不是「.-」 –
0
基於your comment,我認爲你正在尋找使用映射表中的字符串替換。我想你可以使用string.gsub
here(如果你的老師仍然堅持.gsub
是一個迭代器,你可以問他們禮貌,你是不知道,他們聲稱該方法的人員將樂於實際瞭解同):
local str = "sos sos sos"
local morse = {s = "...", o = "---"}
print(str:gsub("%a", morse))
相關問題
- 1. 在Lua中使用對象
- 2. LUA導入.BVH運動數據/ LUA表使用表動畫.OBJ
- 3. 導航欄不能在ipad中使用
- 4. 不使用表格對齊導航和內容html5
- 5. 導航/導航事件在PhantomJS中不起作用WebDriver
- 6. 導航不會右對齊
- 7. 導航菜單不對齊
- 8. CSS3導航不對齊
- 9. Flex導航不對齊
- 10. 如何在導航器中使用導航欄?
- 11. 線性漸變css不能在導航欄中使用導航欄
- 12. 在導航欄中創建信息按鈕而不使用導航控制器
- 13. 爲什麼導航控制器不使用Swift在回調中導航?
- 14. 粘滯導航不會對齊中心
- 15. 引導導航欄不對齊響應
- 16. 在Lua中使用表來顯示文本不起作用?
- 17. 導航對象
- 18. 在導航欄中,導航選項不在同一行
- 19. 在MasterDetailPage中使用Autofac和Xamarin.Forms導航
- 20. 使用鍵盤在WebView中導航
- 21. 使用jquery在Fancybox中導航圖像
- 22. 在AEM中使用導航API
- 23. 使用編碼在iOs 5中導航
- 24. 使用streampos在文件中導航?
- 25. 在導航控制器中使用UIPickerView
- 26. 在iframe中使用Javascript導航網址
- 27. 如何在使用java的Selenium WebDriver項目中表示頁面對象導航
- 28. 使用Lua中
- 29. 使用引導導航
- 30. 導航使用jQuery
其實我的任務創建一個莫爾斯電碼。使用它可以很容易地完成。但我們的老師說如果我們不嘗試使用成對或迭代器,他會給我們更好的成績。我已經停留了整天尋找一種不使用迭代器的方法,但我仍然沒有找到方法... –
遍歷表的原始函數是'next'。如果沒有它,或者「雙」(使用「下一個」),就沒有其他辦法。 – lhf
是的,這就是爲什麼即時通訊如此困惑如何遍歷表,而不使用lua構建的函數......感謝回覆 –