- 2,130
- 1,751
не знаю как названить ну кароче улучшеный поиск в таблице по ключу
Lua:
tableKey = function(self)
for k,v in pairs(self) do
for l in k:gmatch("[^.]+") do
if l == key then
return v
end
end
end
end
Lua:
local tbl = {
['bool8.bool32.int'] = "bool",
['fixedString32.encodedString2048.encodedString4096'] = "string32",
['compressedFloat'] = "float",
}
print(tableKey(tbl,"int")) -- bool
print(tableKey(tbl,"encodedString2048")) -- string32
print(tableKey(tbl,"booling")) -- nil
--все же лучше чем
local tbl = {
['bool8'] = "bool",
['bool32'] = "bool",
['int'] = "bool",
['fixedString32'] = "string32",
['encodedString2048'] = "string32",
['encodedString4096'] = "string32",
['compressedFloat'] = "float",
}