Использование библиотеки io с LuaEdit - PullRequest
1 голос
/ 05 марта 2012

Я знаю, что это действительно базовый вопрос, но я искал в интернете несколько дней и все еще не могу найти ответЯ только начал изучать Lua и собираюсь написать текстовую приключенческую игру.Я использую LuaEdit для редактирования своего кода Lua, однако я не могу использовать команды io.В командной строке Lua это работает, если я набираю io.read (), но не работает в редакторе.После поиска в Интернете я не могу найти, как импортировать библиотеку, если она есть.

Ответы [ 4 ]

4 голосов
/ 05 марта 2012

Возможно, LuaEdit не скомпилирован с библиотекой ввода-вывода.Вы можете проверить это, используя что-то вроде

if(type(io) ~= "table") then
    print("I/O not available :(");
else
    print("We have I/O!");
end

Если его нет по умолчанию, вы можете попробовать загрузить его вручную через систему модулей

local io = require("io");

Но в конечном итоге дело за интерпретаторомскомпилировано в LuaEdit, будет ли это работать.

1 голос
/ 05 марта 2012

Библиотека не должна быть импортирована по умолчанию.В вашей среде это могло быть отключено, но в любом случае вы увидите сообщение об ошибке, которое появляется, когда вы пытаетесь использовать io. *, И ваше знание вашего редактора поможет.

0 голосов
/ 01 марта 2013

Я считаю, что os.read() - это функция, которую вы ищете, а не io.read().

Если вы работали в Lua с такими играми, как Tekkit (мод для Minecraft), то вам нужно было бы сделать io.read(), так как это API, который они там предоставляют.

Однако при использованииLua из командной строки, вы должны использовать другой API, а именно функции в пакете os.

0 голосов
/ 27 марта 2012

Я создатель и в настоящее время только разработчик LuaEdit, и я могу подтвердить вам, что io.read () не эмулируется в LuaEdit на данный момент. Я также попробовал следующий код lua под Windows 7 и Vista, и он работал без проблем при запуске из LuaEdit:

if(type(io) ~= "table") then
    print("I/O not available :(");
else
    print("We have I/O!");
end

file = io.open("c:\\test.txt", "w")
file:write("We have IO writing to disk!")
file:close()

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...