vvzvlad
аа. не, если там есть DAGROOTRAW1, совсем не обязательно что посылка вся в буфере
Alexey
ну тогда "(DAGROOTRAW1" .. ('.'):rep(78) .. "RAWEND)"
vvzvlad
да, уже сделал так, понятнее стало. спасибо)
Snusmumriken
Дак это можно проверить на тип функции или я чего то не понимаю
Не понимаешь. Cdata может быть функцией (иметь метатаблицу), но не быть типа функции.
Tverd
local Input = class 'Input' Input:include(Events) -- mixin function Input:new() self.tm = timer.create(1/30, 0, self) end function Input:timer() local ch = curses.getch() if ch >= 0 then return self:trigger('on_button_press', { id = ch }) end end
Tverd
local Events = {} function Events:init() self._handlers = {} -- hash событий и присвоеных списков self._queue = {} -- очередь событий self._running = false -- флаг исполнения end
Tverd
что-то типа
Snusmumriken
Покажи код
Какой? ))0
MrSmith
любой, я не вполне понимаю как ты хочешь cdata передать как колбэк
MrSmith
Чет удивлен, ffi сильно ускоряет, пришлось прогу даже на си чуть оптимизировать чтоб вышло быстрей луны
Snusmumriken
любой, я не вполне понимаю как ты хочешь cdata передать как колбэк
Хе. Вот моя либа векторов. Тут активно используется cdata, которую можно вызывать как функции. https://pastebin.com/i7qC1aKn
Snusmumriken
Мало того, я регулярно посылаю векторы в колбеки, ну, потому что это удобно ))) Ну типа: camera:attach(vector). В таком случае, если камера сохранит вектор в замыкании или ещё где-то, её можно будет двигать вместе с вектором, и вектор можно двигать вместе с камерой. Типа это удобно ))) Почему cdata? Потому что создаётся быстрее чем таблицы и жрёт меньше памяти. А ещё, вся арифметика c cdata компилируется божественным ffi по умолчанию.
MrSmith
Я пока в jit копмпоненты не смотрел
MrSmith
Ну такое
Snusmumriken
Ну такое
А мне норм : ) Зато ту же камеру можно спокойно аттачить к объекту. Или к набору объектов (с указанием пропорции влияния данного объекта: расставить "якорей" по игровому миру, к которым камера притягивается, или просто между мышкой и танчиком в пропорции 1 к 3)
Snusmumriken
Snusmumriken
И туда же можно пихать функцию, которая магическим образом получает координаты, куда камере смотреть: всякие сглаживания/дрожания/ограничения по осям/специфическое поведение/рассчёт траектории по кривым безье.. Всё что угодно. На выбор: cdata вызовется как функция и камера получит координаты, или функция вызовется как функция, и камера опять получит координаты : )
MrSmith
?
Snusmumriken
?
Ну что же ещё : ) И да, редактируй сообщения для исправления опечаток. Достраивающаяся в процессе сетка - дебажная инфа колайдера. Кстати, надо бы сделать так, чтобы ячейки таки удалялись при сборке мусора. Хм.
Snusmumriken
package.path/package.cpath + LUA_CPATH/LUA_PATH
Firestalk
может быть, я ошибаюсь, но луажит пока что старается быть совместимым с луа 5.1
MrSmith
Хотя тоже странно, могли бы в версию тупо передавать или есть другие варианты что может быть?
Dika
С какой версией луа совместим LuaJIT 2.1?
Dika
"LuaJIT is fully compatible with Lua 5.1, and includes many features from Lua 5.2 as well as some portability enhancements of the standard library. "
Есть.
Есть дурацкое предположение, что у тебя luajit запускается скриптом, задающим LUA_PATH/LUA_CPATH, но это вряд ли. :/
MrSmith
Со мной чегодня чел связался, хочет скрипты вот под это http://www.controlbyweb.com/x600m/x-600m_users_manual.pdf
MrSmith
Я чет в сомнениях
Roman
а если ещё и денег предлагает, то какие сомнения?
Roman
таки шалом
MrSmith
а если ещё и денег предлагает, то какие сомнения?
Ну девайса то у меня не будет, я принял предложение, но вдруг надо будет си расширение писать и как тогда
MrSmith
Щас спросил задача какая если простой скрипт то напишу
MrSmith
Но вот тут и проблема, платформы то у меня нет
MrSmith
Пффф, мой любимый яп
MrSmith
Классы на структурах или полиморфизм
Roman
ну это, кстати, прикольно
Roman
в смысле классы на структурах )
MrSmith
Касты long int в char и работа по маске
Roman
никаких тебе виртуальных таблиц
MrSmith
Ну да что то в этом есть
Видел библиотеку для UTF-8. Даже пользовался как-то. Названия не помню, но нагуглилась легко.
В каком смысле нестабильно? В Lua 5.3 есть изкоробочная библиотека utf8, но ты же luajit хочешь.
MrSmith
Ну дак luajit быстрый, я тоже в начале просто lua использовал, но чем дальше в лес, тем проще и эффективней luajit юзать
MrSmith
Хотя много тут не хватает для лаконичного кодинга но с другой стороны код получается простой как две палки
MrSmith
Хм, Lua Rocks кто юзает или git все?
MrSmith
Чет мертво как то
Так а в чём нестабильность? https://github.com/starwing/luautf8 пробовал?
Кстати, в прошлый раз при попытке нажать на @HohotachBot, открылся чей-то профиль (я даже сообщение отправил). Глюки Телеграма?
Не понял.
Dika
Не ставил
Dika
Забавно
Dika
Это символ Right-To-Left Override
Dika
Да
:3
Я попытался ему скормить бинарник Lua сначала (почему-то через xdotool), но у меня система с ума сошла.
Неправильно стали определяться клавиши и пошёл ввод не туда.
Dika
Хех
Dika
Я просто отправил очень длинное сообщение
Я ему "Зов Ктулху" отправил, и всё ок.
Dika
Мое длинное сообщение поделилось клиентом на 3 маленьких, при чем последнее меньше остальных. На первые два больших он ответил только "Я", на последнее маленькое ответил нормально
Добился того же.
Скормил вывод pwgen 10000 1
Dika
чему равен args?
Dika
Залей код на http://piratepad.net/
Да, я твоего бота скинул ещё одному чуваку. :3
Dika
Я проверил твой код, он не работает.
Dika
Что делает string.find(subs, '(%S+)%s?%S*$')?
Dika
Чтобы не разделять слова?
Dika
Но ведь в том моем длинном сообщении нет пробелов
Dika
Оно посчитает его все как одно слово и не разделит?
Dika
Оно посчитает его все как одно слово и не разделит?
Можно просто не выводить всю команду, если она длинная.
Dika
Там есть пробелы. В пользовательских командах их может не быть, и вся команда посчитается за одно слово. Можно просто поставить лимит. Т.е, например, вот так: > /jokejokejokejokejokejokejokejoke > Я не буду выполнять "/joke/joke/joke/jo..."!