Господа, а есть ли люди хорошо разбирающиеся в LUA тут?
Я никак не могу постигнуть таблицы, есть пара вопросов.
Напишите в личку, кто может помочь.
Спасибо.
Задал бы его тут, глядишь - и ответил кто сразу. Я к этому веду, если что.
Это не совсем то, что я хотел узнать и с таблицами не связано, но убив 8 часов на самые разнообразные извращения истощил всю свою фантазию
Итак, кратко: как сравнивать две строковые переменные с типом WSTRING?
кусок кода:
Цитата:
local myname = GameData.Player.name -- Считать имя персонажа
local victim, killer = wstring.match(msg, "(%a+) has been %a+ by (%a+)'s.+") -- Спарсить имена из чата
if victim == myname then - Сравнение
Выделенное жирным - не работает. Естественно, когда мой персонаж умирает.
Пробовал выводить оба имени в чат, чтобы проверить - они абсолютно одинаковые, даже регистры
Выводил их типы чат - у обоих WSTRING
Переводил оба имени в большую или маленькую раскладку, в тип STRING - все бестолку. Не считает он их равными и хоть ты тресни!
Есть у кого идеи в чем косяк?
В общем, эту проблем сам решил - начал дебажить не только тип переменной, но и ее длину. Оказалось, что параметр мое имя из АПИ имеет в конце имени два лишних непечатных символа. В смысле, что они есть, но не выводятся. Когда после этого оберал это значение с конца на два символа - все стало ок.
Т.е. изменил строку на
local myname = wstring.sub( GameData.Player.name,1,-3 )
Вопрос по таблицам остается в силе.
Вопрос: как они выглядят? Не как пишется их синтаксис, а как мысленно выглядят?
Последний раз редактировалось SilverWF_renamed_45896_12032020; 15.09.2013 в 00:50.
таблица с двумя полями типа string, к которым можно обратиться через tableName[1] и [2].
таблицами очень удобно пользоваться через for i, j in pairs do:
Код:
for i, j in pairs(tableName3) do
print(i, j)
end
на экране будет результат:
Код:
1 elementOne
2 elementTwo
еще пример:
Код:
for i, j in pairs(tableName1) do
print(i, j)
end
на экране будет результат:
Код:
1 elementOne
Добавлено через 9 минут
думаю, столь подробный ответ объясняет, как таблица выглядит изнутри? если не понятно, то это очень плохо, тогда для самых маленьких..
есть таблица, в ней поля, у каждого поля есть имя/идентификатор и его значения, проще говоря, это список О_о если нужно чтобы в одном поле хранилось дофига всего, то само поле делаешь таблицей.
Последний раз редактировалось Kaname_renamed_623714_28042020; 15.09.2013 в 07:39.
Причина: Добавлено сообщение
Не как пишется их синтаксис, а как мысленно выглядят?
пример:
Я честно не догоняю, как записать такую таблицу в ЛУА.
При этом число строк будет постоянно меняться.
При этом необходима возможность сортировки по любому столбцу
При этом необходимо при необходимости добавить новую строку произвести поиск в таблице на предмет наличия имени.
В принципе у меня есть уже идея: сделать таблицу таблиц, при этом каждая внутренняя таблица имеет имя, соответствующее полю "Имя", но вот как при этом отстортировать их по полю "Урон", например - вообще хз
Я честно не догоняю, как записать такую таблицу в ЛУА.
При этом число строк будет постоянно меняться.
При этом необходима возможность сортировки по любому столбцу
При этом необходимо при необходимости добавить новую строку произвести поиск в таблице на предмет наличия имени.
В принципе у меня есть уже идея: сделать таблицу таблиц, при этом каждая внутренняя таблица имеет имя, соответствующее полю "Имя", но вот как при этом отсортировать их по полю "Урон", например - вообще хз
опять же последний абзац читал? там как раз про таблицу таблиц О_о
тут уже надо смотреть, с чем проще работать будет в итоге, хотя и с тем, и с тем можно :)
поэтому я и писал основу синтаксиса, а так же иди читай про работу с таблицами, тебе сюда http://lua-users.org/wiki/TableLibraryTutorial, для запихивания новых элементов в таблицу можно пользоваться банальным tinsert/table.insert, в противовес ему tremove/table.remove, либо же вручную по индексу записывать, все зависит от того в каком виде все это будет, для сортировки есть table.sort - двухместная функция, первое входное значение - таблица, второе - функция сортировки, которые ты пишешь сам.
Спасибо, но с момента объявления даты закрытия Вахи интерес к аддоностроению конкретно поугас
Жаль, а идея у меня клевая - такого еще нигде нет, даже в Вовке...