Size: a a a

2020 November 04

AZ

Aydar Zarifullin in pro.lua
Anatoliy S
It means that the module data.game_model did not return anything when it was loaded.
In this case, require returns true.
Ты не правильно перевёл.

Модуль не вернул ничего (а должен таблицу) именно поэтому require вернула true
источник

AZ

Aydar Zarifullin in pro.lua
Anatoliy S
Всем привет, ребяты подскажите по такому вопросу, впервый раз столкнулся с проблемой - есть либа dll, компилил из исходников сам, с помощью MS Visual Studio 2019, для 32х битного луа она подключается с помощью require отлично и все работает без проблем, захотел начать её юзать в 64-х битном луа, перекомпилил в студии либу под 64 бит, подключаю либу с скрипте с помощью require - и скрипт выдает ошибку прямо на этой строчке с require - attempt to index global   'имя либы'  (a boolean value)
Как для 32 бит компилял?
источник

AS

Anatoliy S in pro.lua
Да уже непомню ))))  Давненько, а под 64 на днях только
источник

AS

Anatoliy S in pro.lua
Напишу вообщем разрабу на гитхаб
источник

AS

Anatoliy S in pro.lua
либа .lib?
источник

AS

Anatoliy S in pro.lua
Вероятно косячнул чтото щас буду смотреть
источник

AS

Anatoliy S in pro.lua
Кажется нашел в чем косяк, теперь другой вопрос в связи с этим, подскажите как правильно компилить с модулем - compat-5.3, слышал про это не еще не вникал, это я так понимаю модуль для совместимости скомпиленного под луа 5.1 но чтобы и в луа 5.3 этот модуль потом подключить можно было
источник

AS

Anatoliy S in pro.lua
Вроде перекомпилил, да был тим косяк - я прикрутил к проекту lua5.1.lib от 32х битного луа, странно а почему же тогда все компилится без проблем, ладно прикрутил lua5.1.lib от 64х битного луа, перекомпилил, и опять в скрипте та же ошибка - attempt to index global   'имя либы'  (a boolean value)
источник

AZ

Aydar Zarifullin in pro.lua
Anatoliy S
Кажется нашел в чем косяк, теперь другой вопрос в связи с этим, подскажите как правильно компилить с модулем - compat-5.3, слышал про это не еще не вникал, это я так понимаю модуль для совместимости скомпиленного под луа 5.1 но чтобы и в луа 5.3 этот модуль потом подключить можно было
Да compat-5.3 нужен для совместимости между 5.3 и 5.1 но я бы для начала проверил работает ли модуль на версии 5.1
источник

AZ

Aydar Zarifullin in pro.lua
Anatoliy S
Вроде перекомпилил, да был тим косяк - я прикрутил к проекту lua5.1.lib от 32х битного луа, странно а почему же тогда все компилится без проблем, ладно прикрутил lua5.1.lib от 64х битного луа, перекомпилил, и опять в скрипте та же ошибка - attempt to index global   'имя либы'  (a boolean value)
Так стоп, какая у вас версия луа? Какая у нее "битность"?
источник

AS

Anatoliy S in pro.lua
Aydar Zarifullin
Да compat-5.3 нужен для совместимости между 5.3 и 5.1 но я бы для начала проверил работает ли модуль на версии 5.1
Он с исходниками от луа 5.1 вообще не компилится, я его скомпилил с исходниками от луаджит, он тоже ведь 5.1 но там почему то есть недостающие функции на отсутствие которых проект ругается, в частности функция - lual_testudata - её нет в луа 5.1 но она есть в луа 5.3 и есть в луаджите 5.1
источник

AZ

Aydar Zarifullin in pro.lua
Anatoliy S
Он с исходниками от луа 5.1 вообще не компилится, я его скомпилил с исходниками от луаджит, он тоже ведь 5.1 но там почему то есть недостающие функции на отсутствие которых проект ругается, в частности функция - lual_testudata - её нет в луа 5.1 но она есть в луа 5.3 и есть в луаджите 5.1
А что за модуль то?
источник

AS

Anatoliy S in pro.lua
Aydar Zarifullin
Так стоп, какая у вас версия луа? Какая у нее "битность"?
при том что скомпиленная таким образом нужная мне либа под 32 бит и в луаджите и в обычном луа 5.1 грузится и рботает без проблем
источник

AS

Anatoliy S in pro.lua
Aydar Zarifullin
А что за модуль то?
источник

AZ

Aydar Zarifullin in pro.lua
Anatoliy S
при том что скомпиленная таким образом нужная мне либа под 32 бит и в луаджите и в обычном луа 5.1 грузится и рботает без проблем
Так я сам к чертям запутался, у вас есть 32 битный луаджит  и вы под него успешно собираете 32 битную версию модуля.

Когда вы собираете 64 битную версию модуля вам и луаджит надо пересобрать под 64
источник

AS

Anatoliy S in pro.lua
Aydar Zarifullin
Так я сам к чертям запутался, у вас есть 32 битный луаджит  и вы под него успешно собираете 32 битную версию модуля.

Когда вы собираете 64 битную версию модуля вам и луаджит надо пересобрать под 64
луаджит 64 бита у меня итак уже есть
источник

AZ

Aydar Zarifullin in pro.lua
Anatoliy S
луаджит 64 бита у меня итак уже есть
У вас должно быть два разных луаджита. Так?
источник

AS

Anatoliy S in pro.lua
Да
источник
2020 November 06

IA

Ivan Azoyan in pro.lua
парни, можно как-то сделать, чтобы не делать:
setmetatable(Ema, {
   __call = function(cls, ...)
       local self = setmetatable({}, cls)
       self:new(...)
       return self
   end
})
хочу, чтобы клиентский код вот так работал:
local ema = Ema:new(3) -- а не
local ema = Ema(3)
--как с __call
источник

IA

Ivan Azoyan in pro.lua
и чтобы не делать в самой функции new() реализацию всех методов
источник