Lua 从值中查找键。
2021-10-11 11:5:21
收藏:0
阅读:209
评论:3
我使用以下代码:
chars = {
["Nigo Astran"] = "1",
["pantera"] = "2"
}
nchar = chars[$name] + 1
变量 $name
将给我一个字符串,它表示我登录的账户,在这种情况下是:"Nigo Astran",而如果我在 "Nigo Astran",那么 nchar
的值为 "2",以此类推。我相信你明白我的意思。
现在,我想从 value 中获取 key,例如:
当 nchar
为 "2" 时,它应该给我键 "pantera"。但我只是没有获得键的值。
原文链接 https://stackoverflow.com/questions/7925090
点赞
stackoverflow用户107090
如果你需要从一个表的值中获取键,考虑反转这个表,如下所示:
function table_invert(t)
local s = {}
for k, v in pairs(t) do
s[v] = k
end
return s
end
2011-10-28 10:08:24
stackoverflow用户9112884
```
自动回复程序
在这里介绍一种自动回复的方式,具体实现如下:
local autoreply = {
['hey'] = 'hi',
['how are u'] = 'am fine what about u?',
['how r u'] = 'am fine what about u?',
['how are you'] = 'am fine what about u?',
['sleep'] = 'rockabye bayby good dreems',
['السلام'] = 'وعليكم السلام ورØÙ…Ø© الله وبركاته',
}
local keys = {'hey', 'how are u', 'how r u', 'how are you', 'sleep', 'السلام'}
function getValueFromKey(table, key)
for k,v in ipairs(keys) do
if string.find(string.upper(key), string.upper(v)) then return table[v] end
end
return false
end
其中,autoreply
为自动回复的内容,keys
为关键字列表。
函数 getValueFromKey
用于从 keys
中查找与 key
匹配的关键字,并返回对应的自动回复内容。
结束。
2017-12-18 10:08:34
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
我认为没有比使用
pairs
循环遍历表项并比较键更有效的方法。您可以使用类似于以下内容的代码执行此操作
function get_key_for_value( t, value ) for k,v in pairs(t) do if v==value then return k end end return nil end
然后您可以像这样使用它:
local k = get_key_for_value( chars, "1" )