Module:Abilities/utils: Difference between revisionsGive feedback
Fixed issue with one of Viper's upgrade values being a string |
m testing a generic table accessor function |
||
| Line 95: | Line 95: | ||
return notes_source_page | return notes_source_page | ||
end | |||
-- Generic function to traverse the table | |||
function p.get_value(frame) | |||
local args = frame.args | |||
local value = data | |||
for i = 1, #args do | |||
local key = args[i] | |||
-- Try converting numeric keys | |||
local num_key = tonumber(key) | |||
if num_key and value[num_key] ~= nil then | |||
key = num_key | |||
end | |||
if type(value) == "table" then | |||
value = value[key] | |||
else | |||
return "Error: Attempted to index non-table at key '" .. tostring(key) .. "'" | |||
end | |||
if value == nil then | |||
return "Error: Invalid key path at '" .. tostring(key) .. "'" | |||
end | |||
end | |||
return value | |||
end | end | ||
return p | return p | ||