你好我是一个新手在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构建的函数......感谢回复 –