Я использую LUA как часть мода Minecraft - я не уверен, насколько это влияет на вещи - см. OpenComputers.
Код пытается сопоставить данную строку с строкой, полученной путем итерации по серииСлоты, содержащие элементы с именами.
Куски кода, которые важны:
term.write("enter name")
name=term.read()
возвращает строку, например «Лес» без кавычек.Я также проверил тип данных.
Затем код анализирует список предметов, ищущих один с именем «Лес».Первая строка того, что стоит, в некоторой степени специфична для игры, но вывод должен сделать это неважным.
item = storage.getStackInSlot(sides.top,i)
это возвращает кучу вещей, но затем уточняется:
item_name = item.label
который возвращает "Bee Sample - Species: Forest", который я также проверил, определенно является строкой.
Затем код возвращает ноль для строки, где поиск / совпадение должен что-то возвращать! = ноль.Я даже печатаю две строки перед операцией string.find.
match = string.match(item_name, name, 1, true)
print(match)
возвращает ноль.
Я понятия не имею, почему это возвращает false.Я проверил совпадение и нахожу функциональность отдельно в интерпретаторе с такими вещами, как:
a=bic
b=ambico
string.find(b,a)
, и это было хорошо.
Извините, если это супер очевидно, и большое спасибо