1Ridav
-
Публикации
218 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем 1Ridav
-
-
Так как мне заставить его работать с string? Тоесть преобразовать string в понятную ему форму.
Для начала объясни, зачем тебе было впихивать туда стринг с плюсами?
-
Bundled работает по принципу бинарника
00000000 = 0 нет сигналов
00000001 = 1 сигнал только на одном цвете
00000010 = 2 сигнал на другом цвете
00000011 = 4 сигнал на обоих цветах
00000111 = 8 сигнал на 3 цветах
00001111 = 16 сигнал на 4 цветах
Он как раз таки принимает число, чтобы работать с сигналами, а не стринги типа тех, что ты привел в пример их туда никак не впихнуть
-
Нет Рид, не в этом случае. Если запускать отдельно каждую функцию результат идентичный.
Пруф для 100 000: http://ideone.com/JZODo2
После создания таблицы и её обработки - она попадает в кэш. Она может быть там часами, если её не заменит что либо другое. Так что единственный способ исключить это влияние - заполнять таблицу другими данными перед каждым тестом.
Заполнил
Сериализовал
Заполнил
Разсериализовал
-
Итак, я провел тесты. Результаты потрясающие - почти мой код сериализует в десятки раз быстрее.
Для двухмерного массива с 1 000 000 полей замеры времени выполнения:
//CC textutils serialize(): 45.94 unserialize(): 1.73 //OC serialization serialization.serialize(): 40.00 serialization.unserialize(): 0.87 //Krutoy table.tostring: table.toString(): 1.80 table.fromString(): 1.19
Пруф для меньшего количества полей:
Не забываем про КЭШ, он сильно искажает показатели тестов, поэтому его надо очищать
-
Гораздо более рационально делать так:
2 пастбина.
1 - Центр обновлений
2 - Программа
Центр обновлений - это обычный файл на пастбине, который имеет в себе лишь 2 строки
v1.0.0.7 - к примеру версия текущая
BlaHbLah - код пастбина с программкой
Обновляясь прога GET запросом получит текущую актуальную версию и пастбин, на которой её можно скачать.
Если есть более новая версия, то прога её скачает с указанного пастбина
С учетом того, что размеры данного GET запроса незначительны + хедеры + офсет пакета так же не велики(офсет и тело)
С учетом даже частой проверки актуальности версии - нагрузка будет гораздо ниже.
-
3
-
-
Крутой, у тебя одна хроническая проблема в прогах - оверюзинг системных ресурсов
-
Поперчить и продавать по 10 рублей килограмм
-
Просмотрел код, чистый, понятный.
Я увидел там лишь кнопки, текущая структура не предусматривает добавление других объектов типа прогрессбаров, текстинпутов и тд лабуды.
Или это у вас из объекта суперкнопки выходит?
Еще вопрос, для чего обрабатывать клик по группе кнопок? Они оверлапятся на экране? Если да, то как при этом они отображаются?
-
Для этого и есть статус программера.
Делаешь что нибудь интересное на компьютерах - постишь статью на сайт и получаешь доступ к китам со всеми комплектующими для компов.
-
pastebin get Dp8nc55U /lib/pref.lua
pastebin get Dp8nc55U pref.lua
В свободное время написал такую вот библу для более удобного хранения структурированных данных в файлах.
К примеру часто видел, что в файлах стоит такая вот причуда:Bob Marley 34 Trololo street
Если из слов еще можно понять, что хранится на строке, то с цифрами это сложнее:
11 1 true 3
Более простой способ привести это в понятный вид - использовать параметризацию.
Файл будет выглядеть так:
name=Bob surname=Marley age=34 address=Trololo street
Вот и библа. Ссылка на пастбин сверху.Создаем новый файл с данными:
local pref = require("pref") --так же можно использовать local pref = dofile("pref.lua") для загрузки из текущей папки, а не из папки lib local table = pref.create("newPrefFilePath") --к примеру новый файл "bob" table["name"] = "Bob" table["surname"] = "Marley" table["age"] = 34 table["address"] = "Trololo street" pref.save(table) -- мы внесли изменения в таблицу, их надо сохранить. Если изменений не вносилось - можно не сохранятьЗагружаем существующий файл с данными:
local pref = require("pref") --так же можно использовать local pref = dofile("pref.lua") local table = pref.load("newPrefFilePath") --к примеру файл "bob" print(table["name"], table["age"]) --изменений в не производили, так что можно не сохранять table["age"] = 35 table["weight"] = 70 --Добавили новое поле в существующий файл pref.save(table) --изменили возраст, сохранимФункции:
pref.create("путь до нового файла данных") pref.load("путь до существующего файла данных") pref.save(таблица с данными)-
5
-
-
Было бы очень хорошо, если бы ты документировал все API в этой теме. Как что называется, что делает и что возвращает. в деталях.
Плюс привел несколько примеров использования
Я реально буду её использовать для своей управления с андроида , уже думал, что придется свое писать, но еще не приступил к написанию. Прямо подарок судьбы
-
Ценою неимоверных усилий удалось портировать уже известную вам библиотеку thread в ОС.
Библиотека доступна для скачивания по команде
pastebin get E0SzJcCx thread.lua
По сравнению с версией для СС, библиотека имеет еще две функции, вызываемых без параметров:
thread.init() - инициализирует многозадачный режим. Должна вызываться один раз перед вызовом других функций библиотеки.
thread.waitForAll() - ожидает завершения всех дочерних потоков.
Функции create, kill и killAll работают аналогично версии для СС.
Пример работы с библиотекой:
local thread = require("thread") -- Инициализируем многозадачность thread.init() -- Функция, которая выводит строку str несколько раз с интервалом секунда function foo(str,n) for i=1,n do print(str) os.sleep(1) end end -- Запускаем два экземпляра функции с разными параметрами thread.create(foo,"AAA",5) thread.create(foo,"BBB",7) -- Ждем завершения thread.waitForAll()Результат работы программы
У меня 2 вопроса:
1 - thread'ы убиваются сами после завершения функции или их надо убивать в ручную?
2 - Можно ли убивать thread'ы вручную не дожидаясь их завершения?
-
Трудность работу с большими проектами растет в разы. С файлом в 1000 строк работать в 10 раз труднее чем с 100 строками.
В принципе код можно разбивать на части и использовать "библиотеки". Я именно так и поступаю. Библа строк на 500-700. сама прога на 150
-
И один только я старыми дедовскими методами пишу код... Открываю игру, ставлю комп, открываю файлы компа в обычном редакторе и ваяю магию...
-
2
-
-
Мой приват не удаляйте, это площадка между зелёным кубом, и пончиком.
Тот пустырь?
-
блин, точно OC, забыл, что это англ
у меня в качестве ошибки пишет, что возможно синтаксическая ошибка, а после того как скачал, надо что-то настраивать?
Что не так?
в функции у тебя bottomAPI. стоит. Это незавершенный вид - поэтому и ошибка
-
С динамическим нахождением пути всегда были и будут сложности. За это придется расплачиваться нагрузкой из-за вычислений наименее нагруженного и короткого пути; проверки доступности хостов
-
Он жи вись саит сломаит!111
У меня монитор треснул
-
3
-
-
Хоть я появился здесь недавно, но пожалуй тоже хотел бы себе
Чтобы не было пустых регистраций, раздавать почтовые ящики будем по принципу активности на проекте. Пишите свои статьи, уроки, заполняйте wiki и конечно же помогайте окружающим.
Я тоже хочу!

Чтобы не было пустых регистраций, раздавать почтовые ящики будем по принципу активности на проекте. Пишите свои статьи, уроки, заполняйте wiki и конечно же помогайте окружающим.
-
-
-
= присвавает новое значение
== проверяет на равенство.
Во всех ифах у вас присвоение новых значений...
-
Велосипедостроение - это неизлечимая болезнь.

Мы потеряли много хороших парней на велосипедах...
А сколько потеряли на изобретании колеса...
-
1
-
-
В моем api есть большой и жирный минус, исправить который возможно лишь преписав мост, который связывает андроид и ОС компьютер. Я не использовал библиотеки в роде netty. На каждое подключение создается 2 потока. 1 для андроид и второй для игровых компьютеров. При большом количестве подключений(от 10-15и выше) процессор, который обрабатывает мост - начнет захлебываться в обилии потоков, переключаясь между ними.
Исправляется это довольно банально - требуется использовать библиотеку-обработчик подключений, которая позволит обрабатывать до 100 тыс подключений всего в 4 потоках. Переписать все руки не доходят.


Аргументы в rs.setBundled [CC]
в Разные (отсортировать)
Опубликовано:
тогда просто коды плюсуй как числа и передавай в функцию.
а = 4 + 8 + 16
а будет равно 28