У меня есть программа, использующая библиотеки Luaj 3.0, и я нашел некоторые сценарии lua, которые я хочу включить, но все они требуют файловой системы lua и penlight и всякий раз, когда я пытаюсь использовать эти библиотеки дают ошибку.Как загрузить Lua-Filesystem и Lua-Penlight в Luaj
Кто-нибудь знает, как я должен использовать тех, кто находится в Луаге?
Edit: Немного больше информации может помочь: У меня есть я 64bit система Archlinux с открытым jdk8 Luaj, Lua-файловая система, и Lua-пальчиковые установлен. Я нашел набор библиотек под названием Lua Java Utils, который я хочу включить в свой проект. Но он всегда получает эту ошибку:
@luaJavaUtils/import.lua:24 index expected, got nil
Линия 24 для справки:
local function import_class (classname,packagename)
local res,class = pcall(luajava.bindClass,packagename)
if res then
_G[classname] = class
local mt = getmetatable(class)
mt.__call = call -- <----- Error Here
return class
end
end
Это требует библиотеку пальчиковые, которая в свою очередь, требует Lua файловой системы, поэтому я установил два. Я обнаружил через тестирование, что файловая система Lua не загружается, пытаясь запустить lfs.currentdir()
. Я попробовал globals.load("local lfs = require \"lfs\"").call();
, но также дал ошибку.
Моя библиотека Lfs находится по адресу /usr/lib/lua/5.2/lfs.so
и penlight at /usr/share/lua/5.2/pl
.
Насколько я могу сказать, что ошибка была исправлена. В потоке, с которым вы связались, говорят, что они исправили это в бета-версии 1, и я посмотрел на источник, и похоже, что он использовал этот путь. – user2752635
Я пробовал, и это не сработало. Как я должен использовать, так или иначе, поскольку всякий раз, когда я пытаюсь вызвать любой из этих файлов, я получаю сообщение об ошибке. – user2752635
@ user2752635 из моего взгляда на официальную веб-страницу LuaJ. Нет поддержки для библиотек C/C++. Как вы уже определили выше, вы пытаетесь загрузить библиотеку UNIX, которая невозможна из LuaJ. Между LuaJ и C API нет никакой связи. 'Библиотеки закодированы так, чтобы точно соответствовать поведению, указанному в документации по стандарту lua, см. Подробную информацию об библиотечном API'. - Поскольку вы смотрите близко к проекту, библиотеки созданы так же, как LuaC API, но не LuaC. Не все библиотеки Lua API доступны для LuaJ. К сожалению, нет возможности загружать указанные библиотеки. – 111WARLOCK111