Перейти к содержимому

ZiJer

Пользователи
  • Публикации

    5
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем ZiJer


  1. Во-первых, Lua позволяет оперировать целыми числами заметно длиннее четырех байт. Если я верно помню, можно свободно рассчитывать на 53 бита.

     

    Во-вторых, автор вопроса не уточняет свойства хранимых в массиве чисел:

    А если числа в массиве сильно ограничены, помещаясь в один байт?

    А если числа в массиве часто повторяются?

     

    Тогда дисковая память будет расходоваться неэффективно.

    Можно сжимать, но тогда не так эффективно будет расходоваться время процессора.

     

    Поэтому придется ответить на еще один вопрос: какое соотношение между занимаемым объемом и выполненными вычислениями является оптимальным?

    Числа от нуля до 0xFFFFFFFFFFFF включительно.

    Числа повторяются но через определенные интервалы, в большинстве случаев, достаточно часто.

    Думаю, скорость все же в приоритете.

    Спасибо за наводку, мне пришла одна мысль (возможно выложу решение, если смогу написать).


  2. Мне нужен самый ресурсосберегающий (в плане процессорного времени и объема энергонезависимой памяти) способ

    сохранения одномерного целочисленного массива в файл и его последующее чтение для воссоздания исходного массива.


  3. Подскажите всё, что мне доступно для работы с файлами при запуски программы в init.lua

    Конкретно сейчас мне требуется реализовать примитивную файловую систему.

    К сожалению, ни один из следующих файлов в OpenOS не имеет комментариев:

    /boot/90_filesystem.lua
    /lib/filesystem.lua
    

    Трудно понять, как там всё работает.

    Буду очень рад, если накидаете простейших примеров.


  4. Что я делаю не так?

    DqbEM1H.png

     

    Вот конструктор:

    function GuiObject:CreateNew(x, y, w, h, listeners, container)
      local newObject = {}
      setmetatable(newObject, GuiObject)
    
      newObject.x = x
      newObject.y = y
      newObject.w = w
      newObject.h = h
      newObject.listeners = listeners
      newObject.container = container
    
      return newObject
    end
    

    Почему maingui.listeners == {} , а

    maingui.container вообще nil

     

    Все остальные поля (x,y,w,h) нормально инициализируются.

     

×
×
  • Создать...