я борюсь с этой проблемой:проблемы с Lua соответствует найти модель
Учитывая 2 строки:
s1 = '/foo/:bar/oof/:rab'
s2 = '/foo/lua/oof/rocks'
Я хотел бы произвести следующую информацию:
Если они совпадают (эти два значения должны совпадать, s2 следует шаблону, описанному в s1).
Таблица, содержащая значения
s2
с соответствующим именем вs1
. В этом случае мы имеем:{ bar = "lua", rab = "rocks" }
Я думаю, что этот алгоритм решает, но я не могу понять, как его реализовать (возможно, с gmatch):
магазин заполнители
:
индексы как КЛЮЧИ таблицы, и соответствующие ЗНАЧЕНИЯ, являющиеся именем этих заполнителей.Пример с
s1
:local aux1 = { "6" = "bar", "15" = "rab" }
С ключами
aux1
извлечённому в качестве индексов, извлечения значенияs2
в другую таблицу:local aux2 = {"6" = "lua", "15" = "rocks"}
Наконец объединить их два в одну таблицу (это легко: P)
{ bar = "lua", rab = "rocks" }
На шаге 2 вы используете индексы из s1 для поиска в s2, это работает только после того, как «: bar» имеет такую же длину, как «lua», так будет всегда? – ryanpattison
На самом деле есть недостаток в этой логике, я работаю над решением, основанным на разделении строк на "/" –