Lua 我可以根据函数输入从表中选择值吗?

Lua 我可以根据函数输入从表中选择值吗?,lua,Lua,我想知道是否可以根据函数的参数从表中选择一个值 我尝试过静态设置该值,然后返回该值。我只想使用函数参数来实现它 功能检查武器、附件 对于k,v,成对武器 如果GetHashKeyk==GetSelectedPedWeaponped,则 附件 return v.附件-这需要基于 -参数附件 终止 终止 返回错误 终止 我希望如果我向这个函数提供参数消音器,我会收到表中消音器的相应值。相反,它是零。如果我手动键入return v.消音器,它仍然可以工作。在Lua中,您可以通过两种方式索引表 正如您所

我想知道是否可以根据函数的参数从表中选择一个值

我尝试过静态设置该值,然后返回该值。我只想使用函数参数来实现它

功能检查武器、附件 对于k,v,成对武器 如果GetHashKeyk==GetSelectedPedWeaponped,则 附件 return v.附件-这需要基于 -参数附件 终止 终止 返回错误 终止
我希望如果我向这个函数提供参数消音器,我会收到表中消音器的相应值。相反,它是零。如果我手动键入return v.消音器,它仍然可以工作。

在Lua中,您可以通过两种方式索引表

正如您所做的,您可以使用。例如sometable.key 但这只是另一种索引方法sometable[key]的语法糖分 这两种方法都使用字符串键对表进行索引

您的代码可能如下所示:

function CheckWeapon(ped, key)-- where key is a string ie: "attachment"
    for k,v in pairs(weapons)do
        if GetHashKey(k) == GetSelectedPedWeapon(ped) then
            print(v[key])
            return v[key]
        end
    end
    return false
end
使用sometable[key]选项还允许使用无法访问的键。比如

sometable["my key"] -- note the space
sometable["1st_key"] -- note it begins with a number