LeshaInc
-
Публикации
777 -
Зарегистрирован
-
Посещение
-
Победитель дней
68
Сообщения, опубликованные пользователем LeshaInc
-
-
........................ы.ыыыыыыыы......................Я понимаю что оно делает, я не понимаю зачем оно это делает. Кому нужны квадратики и кружочки?
-
Либа прикольная, только какой в ней смысл не понятно. Очень хочется вставить эту картинку:

А так норм, сменя лайк и плюсик в репку.
-
1
-
-
Комп и свободный блок. В свободный блок суем что угодно: Ассемблер, печку, верстак, хрень, фигню какую то, мясорубку, квертика.


-
3
-
-
-
-
Зачем выкладывать 5 строчек на форум? Да еще и бесполезных.

P.S. Ыерг, ты какой-то странный. Сначала говоришь всем "да это легко", ну так возьми и напиши. Но неееет, ты вместо того что написать например тот же edit с подсветкой синтаксиса начинаешь писать 5 строк на форум. Говоришь одно, а делаешь совсем другое.
P.P.S. Мало идей? У меня довольно много сложных и хороших идей по программированию. Могу даже поделиться.
-
4
-
-
-
Ну я же по теме, просто получается, что "+1 велик", написал ты.
Бывает гадят по теме. Велик? Пруф.

-
instance of Гадить(0xFFA71AB)Хочу посмотреть как ты без всяких либ будешь считать что то типо такого:
FF0A116 * 71838 + 2215 - (8310 ^ LOX36)
P.S. Хватит гадить в теме. Не нравится - не лезь, обойди стороной. Например, Васе необходима такая либа. Он нашел ее, зашел и попал автоматический к твоему посту, где видит как ты всяческий обливаешь радужными какашками либу. После этого, наш Вася пойдет писать свою либу, которая будет делать то же самое. +1 велик.
-
1
-
-
Думаю на практике, библиотеку можно свести к функции convert(value: number, to: number). Который будет изредка юзаться для конвертации и вывода результата вычислений в какую-нибудь нужную систему.
Ибо какая к черту разница как оно там под капотом хранится. Конструкция из строк и таблиц не будет эффективнее примитивного типа number.
С точки зрения же получения удовольствия от написания программы, игры с системами счисления, таблицами и языком Луа - вопросов нет, дело хорошее =)
Я писал просто так, а не для того чтобы думать о дальнейшем использовании, упрощении, фигне какой то, или еще о чем то.
-
1
-
-
В чём смысл вычислений в разных системах счисления, если это по сути одно и тоже? Не понимаю, зачем здесь ООП. В остальном функционал не прибавился.
- А зачем тогда человечество сделало разные системы счисления? Ведь вычисления те же самые?
- Без ооп не получить удобных вычислений, таких как a + b, пришлось бы делать что-то вроде
a = toDec("FF", 16) b = toDec("73", 8) print(fromDec(a + b, 8))Ну а теперь сам посуди, что выглядит лучше, первое или второе?
- А зачем тогда человечество сделало разные системы счисления? Ведь вычисления те же самые?
-

§">topart LuaInteger library
Библиотека для работы с разными системами счисления на чистом Lua.
§">toc Содержание:§">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
-
§">customintegerto :to(number: base) - string: result - переводит наш объект в другую систему счисления.
- §">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 исходник, напишите мне в личку.
-
3
-
§">todec toDec(number: number, number: base) - number: result - переводит одну систему счисления в десятичную. Принимает число, которое будут переводить (обязательно в виде строки, например "FFFFFF") и основание системы счисления из которой переводят (например 16).
-
Зачем выставлять библиотеку которая не работает?
Все она работает.
-
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

-
:init() - является конструктором объекта, вызывать явно не нужно, он вызывается сам при создании объекта. При создании создает события по умолчанию (описанные классом Event):
-
2^1001267650600228229401496703205376
-
1
-
-
Грузиться будут только те, что используются в программе, вызываемой через среде.
Ты еще не понял? Вот добавили мы библиотеку - lol = require "lol". Она сразу загружается в оперативную память, сразу выжирает память. Пофиг, когда мы будем вызывать функции либы, она в любом случае будет жрать память
-
3
-
-
Софист ты, Леша) Хоть ты сам напишешь require, хоть среда за тебя это сделат, какая разница? Но во втором случае тебе не нужно думать о require)
В моей практике были программы которые ели довольно много оперативной памяти компьютера. Но они подгружали совсем немного библиотек. А теперь представь если это немного превратиться в много? Компьютеру просто памяти не хватит
-
Пардон, package.loaded, перепутал немного)
А по твоему package.loaded - это переменная которая хранится не в оперативной памяти, а в облаке из радужных какашек и пони, в котором бесконечное количество прострнанства?
Если ты загружаешь все либы, они по твоему не займут никакого места? Фигушки. Они хоть и будут сидеть в package.loaded, но оперативку выжирать все равно будут.

-
2
-
-
Именно так и происходит: package.preload - это хранилище)
package.preload - это хранилище либ, которые получаются не из файла, а из таблицы. Например:
package.preload["lox"] = {fuck = print, lol = table.insert} ... lox = require "lox" -- файла lox.lua нету нигде lox.print("lox") -- >> lox
:smile14: 
-
Не ты этот алгоритм писал, ты не знаешь(а при чтении понять не может, как я вижу), что она ищет вхождения названий библиотек и в этом случает добавляет к исходному коду блок require)
А require по твоему маг, он загружает либы, не в оперативную память, а в магическое хранилище розовых пони какающих конфетами, в котором можно хранить сколько хочешь информации.

Например, когда мы пишем в коде:
local lib = require "lib"
Вызывается файл lib, берется то что возвратил этот файл и кладется в переменную lib. Естественно переменная забирает часть оперативной памяти.
Плохой стиль.Ну если для тебя a.on("func") - плохой стиль, то так тому и быть, твоя функция, не моя.
-
3
-
-
Что дает эта среда?
Стандартные библиотеки можно теперь не загружать при помощи require, это обеспечит среда.
Про оперативную память слышали? Нет?

Планируемые функции: замена l <name> на local <name> и аналогично для функций.
Если и делаешь, то добавь выключатель, не каждым глазам удобно смотреть на код типа
l f main() l a = "hello" a = a .. "!" print(a) end
Мне кажется это просто клон моего servercore, из отличий только:
- off метод. Честно говоря не вижу смысла этому методу, удалить слушателя можно и on'ом.
- .aa формат
-
2
-
-
Буду ждать
Еще можно добавить изменение владельца, добавление/удаление юзеров командой, открытие/закрытие двери.
Жди дальше, я начал переписывать программу. Теперь, собственно, будут разные пользователи: админ, модер, юзер, все они находятся в вайтлисте очков, К очкам не сможет подключиться тот, кого нету в вайте. Будет также не такой загроможденный экран - всего одно окошко в котором можно переключать страницы командами $$+ $$-. И очень важно, то, что мы можем установить макрос на эти команды, и переключать страницы со своей клавиатуры.
-
ЛехеИнцу лишь бы козявку какую-то кинуть в кого-то куда-то, вместо того, чтобы программку писать какую-то=) "Козявочник" он местный просто)))
Нихрена. Я просто для майна писать не могу, знак свыше получил - майн сломался и лень фиксить. Так бы я сам написал нормальный фтп. А программку я итак пишу, только не для кубиков.
-
1
-





Braille Bicycle - монохромные пиксели [OpenComputers]
в Графика
Опубликовано:
В плюсы засунь, красиво же выглядит монохромно и с полосами.