2014-09-11 5 views
4

Я относительно новичок в Lua и экспериментирую с вложением его в библиотеку. Я могу выполнить сценарий просто отлично из командной строки, но я попал следующее сообщение об ошибке при вызове функции в моем сценарии, когда встроенныйОшибка Lua: попытка вызвать глобальную «распаковку» (значение nil)

PANIC: unprotected error in call to Lua API ([string "-- #! /usr/local/bin/lua..."]:72: attempt to call global 'unpack' (a nil value)) 

unpack Куда пойти?

+5

Проверьте версии Lua, которые вы используете. В Lua 5.1 'unpack' был глобальным, но в 5.2 он был перемещен в' table.unpack'. Вы можете использовать Lua 5.1 в командной строке при вложении 5.2. –

+0

Хмм, переместив его на стол. Я использую 5.2.3 как для встроенных, так и для интерпретаторов командной строки. У интерпретатора командной строки не было похоже, что я оставил 'unpack' безусловным. – learnvst

ответ

6

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

По умолчанию интерпретатор командной строки построен с обратной совместимостью, следовательно, разница вы видите.

Смежные вопросы