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

NEO

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

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

  • Посещение

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

    78

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


  1. Как я понимаю, библиотека стоит на синхронных сокетах, лучше сделай на асинхронных, функция receive все портит своим бесконечным ожиданием.

    А если к мосту ты не подключился, а receive уже вызвал, тогда он будет вечно ждать сообщение, от не подключеного сервера.

    Можно сделать таймер который будет проверять сокет на сообщение, если там что-то есть он пушит сигнал, который уже может обрабатываться программой.


  2. Строка. Вот тебе кодик, очень простой:

     

    function subTheText(text) 
    	texttoreturn={}
    	noExit=true
    	while noExit do
    		startTEXT, stopTEXT=string.find(text, "CSTART") 
    		startC, stopC=string.find(text, "CSTOP") 
    		if startTEXT~=nil and stopTEXT~=nil and startC~=nil and stopC~=nil then
    			if string.sub(text, stopTEXT, stopC)~="" then
    				table.insert(texttoreturn, string.sub(text, stopTEXT+1, stopC-#"CSTOP"))
    			end
    			text=string.sub(text, stopC, #text)
    		else
    			noExit=false
    		end
    	end
    	return texttoreturn
    end
    

     

     

    То есть ты в компе-камере между цветами вставляешь CSTART и CSTOP. То есть "CSTART0x000000CSTOPCSTART0xff0000CSTOPCSTART0x00ff00CSTOPCSTART0x0000ffCSTOP" вернёт {0x000000, 0xff0000, 0x00ff00, 0x0000ff}

    Что - это за хрень??  :nono:

    Зачем так говно кодить???

    • Нравится 2

  3. П.С. Нео, вот тебе полноценный запрос на языке SQL к "полноценной" базе детский. Реализуешь?

    SELECT dt, product_id, amount, price
    FROM m_outcome
    WHERE amount=20 AND price>=10;

    А в чем проблема реализовать?

    Тут видна очевидная структура.

    SQL проще сделать чем тот же html, где есть вложенные блоки, кучу параметров и тд.

     

    Предупреждение от модератора

    Цитирование огромного объёма текста!


  4. возвращает true,потому что в конце библиотеки return hello нужно написать.функция require ищет файл hello.lua, загружает код, и исполняет как функцию, и возвращает то что функция передала, или true если нету возврата.

    • Нравится 1

  5. Кто может подсказать, хочу сделать поддержку unicode, но проблема в том что unicode.byte нет, а каким образом код получить я пока не знаю.


     

    это чой-то дюже специфическая библиотека получилась. 

    • неясно зачем "бинарный вид" хранить в таблице. это же сколько килобайт на бит будет?
    • неясно зачем вообще писать для него функцию, если луа и так умеет работать с битами.
    • неясно зачем переводить делением/возведением в степень о_О, если есть сдвиг и маска
    • неясно зачем CharToBit и WordToBit вместо одной str2bin

    --==--

    если нужно в двоичный и назад то проще как-то так:

    function bin(n, l)
      local b=''
      for i=0,l or 31 do
        b=bit32.extract(n, i)..b
      end
      return b
    end
    
    function dec(b)
      local n=0
      for i=1, #b do
        n=bit32.replace(n, string.sub(b,i,i), #b-i)
      end
      return n
    end
    
    print(bin(196))
    print(dec('11000100'))
    

    :smile44:  Тебе не ясно, твои проблемы, я люблю изучать, вот и пишу.


  6. Нео, хотя разметка кода и концепция хороша, наделал и глупостей.

    - Глобальные переменные в локальном окружении. Причем с одинаковыми названиями

    - Повсюду вызовы глобальных переменных - тоже тормозит производительность

    - Нет полной поддержки юникода, некоторые функции используют string

    - Последняя функция ничего не возвращает

    Я так пишу :P , да забыл return word сделать.

    Поправил окружение.

    А где же методы NOT, OR, AND, XOR?

    Не успел сделать.


  7. Bits - библиотека для преобразования чисел,слов в бинарный вид,и наоборот.

    Функции:

    getBits(number,length) return table, возвращает число в двоичном виде, length - разрядность.

    getNumber(bits:table) - превращает двоичное число в десятичное.

    CharToBit(char,length) - превращает символ в двоичный вид,length - разрядность.

    WordToBit(word,length) - превращает строку в двоичный вид,length - разрядность.

    BitToWord(bits,length) - превращает двоичные код разрядностью length в строку. 

     

    http://pastebin.com/4wu0P98s

    • Нравится 4

  8. Нео, в качестве подтверждения можно просто отключить сигнал, делать два провода нерационально

    Отправлено с моего HTC One через Tapatalk

    Почему? А как ты определишь ноль?

    Можно с помощью времени - это делать, но могут быть сбои.


  9. Zer0Galaxy, не нравится сериализация, вся которая есть и в кк и в ок, вот только почему? Помню там в коде сериализации он делает load и этим можно код исполнять, но я проверял ничего не заметил, отправлял чистый print('hello world') ничего не выполнялось.

    P.S Zer0Galaxy, можешь сделать статейку написать, и показать чем она тебе не нравится, или это просто так.

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