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

Arseniy10

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

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

  • Посещение

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

    2

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


  1. Pastebin Library

    Библиотека для работы с Pastebin'ом

    Устновка:
    pastebin get mxXB0y0C /lib/pastebin.lua

    Методы:


    pastebin.init(dev_key:sring,[user_key:string])
    Инициализирует библиотеку(нет). Первый параметр - ключ разработчика. Второй - пользователя


    pastebin.create(name:string,text:string,[type:number],[time:string],[syntax:string])

    Третий параметр - тип(дефолт - приват), приватный, публичный. Четвертый время жизни пасты(дефолт - 10м. И пятый выделение синтаксиса(дефолт - Lua). Более подробно здесь. Возвращает ссылку на Пасту в виде строки.


    pastebin.login(login:string,password:string)

    Возвращает ключ пользователя в виде строки и сохраняет в pastebin.user_key.


    pastebin.getList([requests_limit:number])

    Возвращает информацию о всех Пастах в виде функции, которые есть на аккаунте.


    pastebin.getPasteInfo()

    Возвращает рандомные пасты в виде функции?


    pastebin.getUserInfo()

    Возвращает информацию о пользователе в виде функции.


    pastebin.delete(paste_address:string)

    Удаляет Пасту. Возвращает ответ об успешности в виде строки.


    pastebin.getRaw(paste_address:string)

    Возвращает содержимое пасты в виде строки.


    pastebin.doc["*pastebin.method*"] --отсутствует

    Вернет справку по методу.








    Пример работы:

     

    local pastebin = require("pastebin")pastebin.init("*dev_key*")print(pastebin.create("cc.ru","computercraft.ru") --вернет ссылку на пасту

     



    Осталось:

    • Парсинг.
    • Документация.



    От меня подарочек на аккаунт Pastebin:

    Login: Good_Pudgen

    Password: http://computercraft.ru/

    Испытывайте на здоровье =)



    Она почти кривая...
    • Нравится 2

  2. есть метод get у компонента gpu, он принимает координаты "пикселя" (символа), но если ты хочешь удаленный доступ или что-то типа того, тебе лучше виртуализировать gpu, это можно сделать переопределением методов из component, и сделать таким образом буферизацию, и уже не с экрана брать данные а с буфера

    Большое спасибо!


  3. Если нужен алгоритм перевода система счисления, то вот полезная библиотека

    Ладно, уговорил. Сопру часть твоей библиотеки.

    Написать - легко. Но это бессмысленно.

     

    Мы можем описать тебе работу каждого оператора это библиотеки на чистейшем русском, но ты не поймёшь ничего, пока не будешь знать, как именно хранятся и обрабатываются числа в компьютере.

    Пока не поймёшь, как именно переводятся числа из одной системы счисления в другую.

     

    Я могу сказать тебе, что оператор >> выполняет битовый сдвиг вправо. Что это скажет тебе?

    Выполнив например такой код, какое число ты получишь:

    print(43 >> 1)
    

    Ты получишь 21. Но почему?

    Потому что в памяти компьютера, число 43 хранится в двоичном представлении, которое выглядит как 0b101011.

    При сдвиге вправо очевидно получится 0b10101, что эквивалентно 21.

     

    Вот. Я рассказал тебе на русском языке, как действует один из побитовых операторов.

    Но честное слово, всё будет куда проще, если ты откроешь Google, забьешь туда пару запросов по основам информатики, и прочтёшь всё это сам, в какой-нибудь хорошей статье.

     

    P.S. Загляни на свою же стену в ВК, и почитай свою же последнюю запись там. ;)

    Хм... А зачем кому-то надо было смотреть мою страницу в ВК?


  4. Любопытная штука, но числа в памяти и так лежат в двоичном формате. Если надо произвести какую-то операцию с помощью bit32 - ничего никуда конвертировать не надо.

     

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

    Я не знаю, как это реализовывается, да и лень как-то. И да, ссылка не рабочая.


  5. Пожалуйста приведите примеры битовых операция в Lua. А конкретно:

    Перевод какого либа числа в двоичное.

    Перевод двоичного числа в обычное.

     

    И самое главное, использую только библиотеку bit32.

     

    И опять же, а зачем тогда в Lua эта библиотека? Зачем мне изобретать велосипед?

     

    P.S. Как оказалось, сайт наврал...


  6. У меня такое, ибо разрешение моего экрана 1336х768. Просто когда загрузится консоль, набирай `resolution 160 40` (поэкспериментируй, если всё равно нечитаемо)

    Такое же разрешение, но мне нужно максимальное разрешение алмазного экрана, ибо программы используют полное разрешение.


  7. Как мне параллельно выводить изменяющуюся переменную и захватывать сигнал?

    event.pull() приостанавливает программу, из-за чего обновление переменной невозможно.

    event.listen и event.ignore() не подходят, ибо мне нужно получать данные нажатий (x,y), которые я могу получать только с event.pull().


    Проблема решена с помощью computer.pullSignal().


  8.  

    Используй event.lister() Он обрабатывает сигналы в режиме ожидания os.sleep(). Таким образом можешь что угодно выводить, но поставить хотя бы os.sleep(0) которого будет достаточно, чтобы обработать эвенты.

     

    Например так:

    function func()
    <код>
    end
    
    event.lister("key_down",func) --регистрируем эвент и привязываем события "нажатие клавиши" функцию func()
    
    while true do
    print(42) --выводим на экран что хотим
    os.sleep(1) --обрабатываем эвенты
    end
    
    event.ignore("key_down",func) --убираем эвент
    

    Стоп. А как мне получить информацию?


  9. Используй event.lister() Он обрабатывает сигналы в режиме ожидания os.sleep(). Таким образом можешь что угодно выводить, но поставить хотя бы os.sleep(0) которого будет достаточно, чтобы обработать эвенты.

     

    Например так:

    function func()
    <код>
    end
    
    event.lister("key_down",func) --регистрируем эвент и привязываем события "нажатие клавиши" функцию func()
    
    while true do
    print(42) --выводим на экран что хотим
    os.sleep(1) --обрабатываем эвенты
    end
    
    event.ignore("key_down",func) --убираем эвент

    Благодарю!


  10. Я, похоже, не правильно понял вопрос. О каких функциях идет речь и какие значения они должны возвращать? Если можно, пример кода

    Ну вот пример. Мне нужно выводить какое-то значение на экран, которое постоянно изменяется. И параллельно принимать сигнал от event.pull(), чтобы можно было взаимодействовать. Ибо во время вызова этой функции приостанавливается программа.


  11. В данном случае, основное назначение функции - содержать тело потока, а не возвращать результат. Если очень нужно, результат можно вернуть через глобальную переменную.

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

    Я даже не знаю, как это реализовать. Пример event.pull(), которая приостанавливает цикл(в моем случае).
×
×
  • Создать...