是否可以基于函数输入从表中选择值?

时间:2019-06-12 18:19:18

标签: lua

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

我尝试过静态设置值,然后返回该值。我只想使用函数参数来做到这一点。

df["RESULT"] == ["A"]

我希望,如果我向该函数提供参数“ silencer”,我将在表中收到相应的silencer值。相反,它为零。如果我手动键入return v.silencer,它仍然可以工作。

1 个答案:

答案 0 :(得分:5)

在Lua中,您可以用2种方式索引表。

完成后,您可以使用.之类的sometable.key 但这只是另一种索引方法sometable["key"]的语法糖 这两个都使用字符串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