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

LeshaInc

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

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

  • Посещение

  • Победитель дней

    68

Все публикации пользователя LeshaInc

  1. Загрузка после обновления ядра...

  2. Если предмодерацию снимут (унбан в чате тоже не помешал бы) я его и внутри дострою, а то пока как то не оч выглядит, особенно то как ты попытался скрыть механизм дверей.
  3. R/O хотите? Ну ок, мне не жалко

  4. LeshaInc

    Пишем шашки #1

    http://unicode-table.com/ru/search/?q=круг
  5. Реалтайм стратегия на ОС.

  6. Зачем выкладывать 5 строчек на форум? Да еще и бесполезных. P.S. Ыерг, ты какой-то странный. Сначала говоришь всем "да это легко", ну так возьми и напиши. Но неееет, ты вместо того что написать например тот же edit с подсветкой синтаксиса начинаешь писать 5 строк на форум. Говоришь одно, а делаешь совсем другое. P.P.S. Мало идей? У меня довольно много сложных и хороших идей по программированию. Могу даже поделиться.
  7. Бывает гадят по теме. Велик? Пруф.
  8. Хочу посмотреть как ты без всяких либ будешь считать что то типо такого: FF0A116 * 71838 + 2215 - (8310 ^ LOX36) P.S. Хватит гадить в теме. Не нравится - не лезь, обойди стороной. Например, Васе необходима такая либа. Он нашел ее, зашел и попал автоматический к твоему посту, где видит как ты всяческий обливаешь радужными какашками либу. После этого, наш Вася пойдет писать свою либу, которая будет делать то же самое. +1 велик.
  9. Я писал просто так, а не для того чтобы думать о дальнейшем использовании, упрощении, фигне какой то, или еще о чем то.
  10. А зачем тогда человечество сделало разные системы счисления? Ведь вычисления те же самые? Без ооп не получить удобных вычислений, таких как a + b, пришлось бы делать что-то вроде a = toDec("FF", 16) b = toDec("73", 8) print(fromDec(a + b, 8))Ну а теперь сам посуди, что выглядит лучше, первое или второе?
  11. §">topart LuaInteger library Библиотека для работы с разными системами счисления на чистом Lua. §">toc Содержание: §">toc Содержание §">about Описание §">doc Документация §">todec toDec §">fromdec fromDec §">custominteger CustomInteger §">customintegerto :to §">hexinteger HexInteger §">octinteger OctInteger §">bininteger BinInteger §">decinteger DecInteger §">get Скачать §">about Описание: Однажды @qwertyMAN написал библиотеку для работы с числами. Функции она предоставляла довольно нужные, но возможности у нее никакие - нельзя работать с нашими числами (умножать, вычитать, делить, сравнивать и т.д.), да и ООП там никакого и не было. Поэтому я решил написать свою библиотеку с блэкдж.... ООП и арифметикой. §">doc Документация: §">todec toDec(number: number, number: base) - number: result - переводит одну систему счисления в десятичную. Принимает число, которое будут переводить (обязательно в виде строки, например "FFFFFF") и основание системы счисления из которой переводят (например 16). Пример: print(int.toDec("F", 16)) -- 15 §">fromdec fromDec(number: number, number: base) - string: result - переводит десятичную систему счисления в другую с основанием base (например 16). Пример: print(int.fromDec(15, 16)) -- F §">custominteger class CustomInteger(string: number, number: base) - CustomInteger instance - класс системы счисления. Принимает число в виде строки, и его основание. С объектом мы можем делать любые действия (+, -, /, *, %, ==, >, <, >=, <=, ^) §">customintegerto :to(number: base) - string: result - переводит наш объект в другую систему счисления. Пример: a = CustomInteger("F", 16) print(a:to(10)) -- 15 §">hexinteger class HexInteger(string: number) - HexInteger instance - ссылка на CustomInteger с основанием 16 §">octinteger class OctInteger(string: number) - OctInteger instance - ссылка на CustomInteger с основанием 8 §">bininteger class BinInteger(string: number) - BinInteger instance - ссылка на CustomInteger с основанием 2 §">decinteger class DecInteger(string: number) - DecInteger instance - ссылка на CustomInteger с основанием 10 §">get Скачать: Ссылка на скачивание: http://pastebin.com/yg487hJ9 Библиотека написана на moonscript, поэтому если вы хотите получить moon исходник, напишите мне в личку.
  12. 4eyes Библиотека предоставляющая более удобный интерфейс для работы с мостом из мода OpenPeripherals. Описание Данная библиотека имеет очень удобный ООП интерфейс и много возможностей, в том числе мультипользовательность. Мы можем легко создать свой интерфейс, получать доступ к любому пользователю, слушать события и и работать с клавиатурой. Для примера, код простейшей программы: -- connect libs local eyes = require("4eyes") local class = require("30log") -- create classes local Text = class("Text") do -- class Test function Text:init(surface, x, y, text, color) self.x = x self.y = y self.text = text self.color = color self.drawer = surface.addText(self.x, self.y, self.text, self.color) end function Text:event(bg, us, ev) print(table.unpack(ev and ev or {})) end end -- work with 4eyes local bridge = eyes.Bridge() bridge:getEvent("glasses_attach"):setPostHandler(function (br, ev) print("New user: " .. ev[3]) local us = br:getUser(ev[3]) us:addObject("test", Text(us:getSurface(), 5, 5, "Hello", 0xFFFFFF)) us:renderObjects(br) end) bridge:pull() Как видите, все очень просто. Создаем объект класса Bridge, настраиваем и запускаем метод pull который начнет слушать все события. Сейчас вам может быть не все понятно, например что за PostHandler, и объекты. Об всем этом пойдет далее. Документация Класс Bridge Данный класс является самой главной частью библиотеки, именно в нем происходит слушание событий и добавление/хранение/изменение пользователей. :init() - является конструктором объекта, вызывать явно не нужно, он вызывается сам при создании объекта. При создании создает события по умолчанию (описанные классом Event): glasses_attach - добавляет пользователя в таблицу пользователей glasses_detach - удаляет пользователя из таблицы пользователей glasses_capture - начало сессии с клавиатурой, делает поле captured пользователя равным true glasses_release - конец сессии с клавиатурой, делает поле captured пользователя равным false :pull() - запускает главный цикл программы, слушающий сигналы. :addUser(string: name, string: uuid) - добавляет нового пользователя в таблицу пользователей, принимает имя и uuid пользователя. :getUser(string: name) - возвращает пользователя с указанным ником. :removeUser(string: name) - удаляет пользователя с указанным ником из таблицы пользователей. :addEvent(string: name, Event: event) - добавляет нового слушателя, принимает название события и объект класса Event. :getEvent(string: name) - возвращает слушателя с указанным именем. :removeEvent(string: name) - удаляет слушателя с указанным именем. :eachUser(function: func(Bridge: bridge, User: user)) - выполняет функцию для каждого пользователя. Пример: bridge:eachUser(function (br, us) print(us.name) end) --[[ пользователи: Маша, Петя, Катя stdout: Маша Петя Катя --]] Класс Event Данный класс является обработчиком события. Очень прост. :init(function: handler) - является конструктором объекта, вызывать явно не нужно, вызывается сам при создании объекта. Принимает обработчик события, в качестве функции. :setHandler(function: handler) - устанавливает обработчик. :setPostHandler(function: posthandler) - устанавливает пост-обрабочик события. Этот пост-обрабочик будет вызыватся каждый раз после вызовы обработчика. :handle(...) - обрабатывает событие, сначала обработчиком, потом пост-обработчиком. Принимает любые данные, которые будут переданы обработчику и пост-обработчику. Класс User Класс пользователя. Хранит в себе все объекты пользователя, такие как тексты и геометрические фигуры. ...дописать... Скачать Для того чтобы поставить библиотеку, скачайте два файла: 30log.lua и 4eyes.lua и разместите их в папке /lib либо /usr/lib
  13. 1267650600228229401496703205376
  14. Ты еще не понял? Вот добавили мы библиотеку - lol = require "lol". Она сразу загружается в оперативную память, сразу выжирает память. Пофиг, когда мы будем вызывать функции либы, она в любом случае будет жрать память
  15. В моей практике были программы которые ели довольно много оперативной памяти компьютера. Но они подгружали совсем немного библиотек. А теперь представь если это немного превратиться в много? Компьютеру просто памяти не хватит
  16. А по твоему package.loaded - это переменная которая хранится не в оперативной памяти, а в облаке из радужных какашек и пони, в котором бесконечное количество прострнанства? Если ты загружаешь все либы, они по твоему не займут никакого места? Фигушки. Они хоть и будут сидеть в package.loaded, но оперативку выжирать все равно будут.
  17. package.preload - это хранилище либ, которые получаются не из файла, а из таблицы. Например: package.preload["lox"] = {fuck = print, lol = table.insert} ... lox = require "lox" -- файла lox.lua нету нигде lox.print("lox") -- >> lox :smile14:
  18. А require по твоему маг, он загружает либы, не в оперативную память, а в магическое хранилище розовых пони какающих конфетами, в котором можно хранить сколько хочешь информации. Например, когда мы пишем в коде: local lib = require "lib" Вызывается файл lib, берется то что возвратил этот файл и кладется в переменную lib. Естественно переменная забирает часть оперативной памяти. Ну если для тебя a.on("func") - плохой стиль, то так тому и быть, твоя функция, не моя.
  19. Про оперативную память слышали? Нет? Если и делаешь, то добавь выключатель, не каждым глазам удобно смотреть на код типа l f main() l a = "hello" a = a .. "!" print(a) end Мне кажется это просто клон моего servercore, из отличий только: off метод. Честно говоря не вижу смысла этому методу, удалить слушателя можно и on'ом. .aa формат
  20. Пишу игру

    1. qwertyMAN

      qwertyMAN

      Что за игра?

  21. Жди дальше, я начал переписывать программу. Теперь, собственно, будут разные пользователи: админ, модер, юзер, все они находятся в вайтлисте очков, К очкам не сможет подключиться тот, кого нету в вайте. Будет также не такой загроможденный экран - всего одно окошко в котором можно переключать страницы командами $$+ $$-. И очень важно, то, что мы можем установить макрос на эти команды, и переключать страницы со своей клавиатуры.
×
×
  • Создать...