Конференция "Прочее" » Помогите с lua кодом.
 
  • @!!ex © (23.09.08 17:40) [0]
    Вот такая штука:
    function Node:haveMoves(et)
    local mt = et
    error(self.mElement,1)
    if mt == 'wildcard' and self.mElement ~=nil then
     mt = self.mElement
    end

    if mt ~= self.mElement and self.mElement ~= 'wildcard' and self.mElement ~=nil then
     return true
    end
    if self.mChildren ~= nil then
    for s = 1, #self.mChildren do
     if self.mChildren[s]:haveMoves(mt) then
      return true
     end
    end
    end
    return false
    end


    функция падает на строчке:
    error(self.mElement,1)
    и выдает
    Lua Error: (null)
    если строку error закомментировать, то функция отрабатывает, но не правильно. она всегда возвращает false.

    Функция должна возвращать true, если найдены минимум дватипа элементов(не считая wildcard)
  • Городской Шаман (23.09.08 18:10) [1]

    > @!!ex ©   (23.09.08 17:40)


    А в коде обработчик функции error нормально работает? Может грабли там?
  • @!!ex © (23.09.08 19:20) [2]
    C error разобрался. Спасибо, GrayFace...
    А функция все равно не правильно работает. :(
  • @!!ex © (23.09.08 20:08) [3]
    функция не работает, потому что структура данных совсем не та, для которой функция предназначена. так что я ступил.
  • Городской Шаман (23.09.08 20:28) [4]

    > @!!ex ©   (23.09.08 20:08) [3]
    >
    > функция не работает, потому что структура данных совсем
    > не та, для которой функция предназначена. так что я ступил.


    Ну так я и спрашивал об этом в [1].

    А вообще в самих обработчиках скриптовых функций(в коде программы) стоит делать получаемых параметров, чтобы не было вылета, а просто корректно возвращался false в случае неудачи. Это чуть замедлит работу, но сделает более стабильной работу программы/игры при багах в скрипте.
  • tesseract © (23.09.08 21:12) [5]

    > @!!ex ©   (23.09.08 19:20) [2]


    Кто-кто надо мной ржал когда я LUA рекомендовал ?
  • GrayFace © (23.09.08 22:26) [6]
    Городской Шаман   (23.09.08 20:28) [4]
    А вообще в самих обработчиках скриптовых функций(в коде программы) стоит делать получаемых параметров, чтобы не было вылета, а просто корректно возвращался false в случае неудачи. Это чуть замедлит работу, но сделает более стабильной работу программы/игры при багах в скрипте.

    Я у себя сделал проще - убрал вызов exit в случае ошибки, заменил на throw. И собирать Lua надо под C++ - тогда он использует Exception'ы в некоторых местах.
  • @!!ex © (23.09.08 23:22) [7]
    > [5] tesseract ©   (23.09.08 21:12)

    не помню чтобы я ржал...
    в любом случае это не мой выбор. надо было исправить прогу сторонних разработчиков.
    исправил вроде, тьфу-тьфу-тьфу.
  • tesseract © (23.09.08 23:46) [8]

    > надо было исправить прогу сторонних разработчиков.


    С этого всё и начинаеться. LUA в играх, как  1С в бухгалтерии.
  • Городской Шаман (24.09.08 00:20) [9]

    > tesseract ©   (23.09.08 23:46) [8]
    >
    > > надо было исправить прогу сторонних разработчиков.
    >
    > С этого всё и начинаеться. LUA в играх, как  1С в бухгалтерии.


    Такая же дрянь? Или вы о чем?
  • @!!ex © (24.09.08 00:33) [10]
    > [9] Городской Шаман   (24.09.08 00:20)

    как и в случае с 1С - лучше нету.
    обычный язык, довольно быстрый, насколько мне известно.
    правда его питон тестин, ИМХО.
  • Real © (24.09.08 01:00) [11]

    > LUA в играх, как  1С в бухгалтерии.

    Спасибо что предупредил. Буду держаться подальше от луа :)
  • Городской Шаман (24.09.08 01:15) [12]

    > Real ©   (24.09.08 01:00) [11]
    >
    >
    > > LUA в играх, как  1С в бухгалтерии.
    >
    > Спасибо что предупредил. Буду держаться подальше от луа


    Как раз lua это очень удобная быстрая и полностью конфигурируемая вещь. Например, в стандарте языка не определено ни одной функции (есть только рекомендации на определение обработчиков стандартных функций). Так что очень странно выглядит сравнение lua с 1С.

    Lua для игр это примерно как чистый С для системного программирования и гибко, и достаточно.

    А лучше говенного 1С есть проекты. Например, этот http://debet.kiev.ua/
  • Городской Шаман (24.09.08 01:17) [13]
    Вот здесь хорошая документация по Lua на русском.
    http://www.gamedev.ru/download/?id=1827
  • @!!ex © (24.09.08 09:31) [14]
    На самом деле, lua вполне замечательная вещь.
    Пока от этого языка только приятные впечатления.
    документация есть здесь:
    www.lua.ru
  • tesseract © (24.09.08 13:04) [15]

    > А лучше говенного 1С есть проекты.


    1С, как показала практика, сильно от рук настройщика зависит. За два года база пришла в норму и теперь всё спокойно.


    > Например, этот http://debet.
    > kiev.ua/


    Это они Раду отавтамотизировали ? И они кстати сильно используют GPL лицензии - Движки Mozilla и тд. Накатано на Eclipse RCP + java/ java script. Сиречь "побольше гвоздей и держиться"  и кстати, где тогда исходнички в свободном доступе ? Надо на этих ребят в FSF стукануть. До 8-ки в плане производительности ей, стопроцентно очень далеко.
  • Городской Шаман (24.09.08 18:57) [16]

    > @!!ex ©   (24.09.08 09:31) [14]
    >
    > На самом деле, lua вполне замечательная вещь.
    > Пока от этого языка только приятные впечатления.
    > документация есть здесь:
    > www.lua.ru


    Там нет готового враппера lua под Delphi. Я его по другой ссылке качал.
    http://luapascal.luaforge.net/index.html#download
    http://www.matrix44.de/lua/
  • Городской Шаман (24.09.08 19:01) [17]

    > tesseract ©   (24.09.08 13:04) [15]
    >
    >  и кстати, где тогда исходнички в свободном доступе ? Надо
    > на этих ребят в FSF стукануть.


    Мозила и Eclipse RCP под LGL и Mozilla license, тоесть их исходники можно использовать в коммерческих проектах, и не открывать коммерческие исходники.

    В общем там все очень хорошо с лицензионной чистоты. Они ж не патентуют исходники Eclipse и Mozilla.

    Кстати Gecko - движок мозилы можно спокойно использовать в закрытых коммерческих проектах.
  • Городской Шаман (24.09.08 19:02) [18]

    > tesseract ©   (24.09.08 13:04) [15]


    А по части скорости работы, так как там Java то ставишь 512 памяти и все взлетает. На 256 будет подлагивать.
  • tesseract © (24.09.08 20:30) [19]

    > А по части скорости работы, так как там Java то ставишь
    > 512 памяти и все взлетает. На 256 будет подлагивать.


    большие сомнения - я их документацию почитал. До 1С даже 6 им далеко. У меня 7.7 (исправленная и дополненная) летает на MS SQL. Думаю таки 8.1 поставить. Хотя кода переписывать ой ё...... А там ещё много cвоих и чужих COM-объектов, которые данная разработка поддерживать не собираеться. Про java на 512 - у меня на такой опреативе сэплы из SDK тормозят, а 1С - по барабану, на 32 метра отлично работает.
 
Конференция "Прочее" » Помогите с lua кодом.
Есть новые Нет новых   [134443   +18][b:0][p:0.001]