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

LeshaInc

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

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

  • Посещение

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

    68

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


  1. — ку, это канал про программирование?

    — да

    — какое аниме лучше посмотреть?

    — ...

    — вот еще, я там подумал сидя на унитазе, а что если энштейн был не прав? что то в ото не так

     

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

    pps: со скоростью света может двигаться только объект с нулевой массой. точка. так что объекты которые мы подаем, мм, фотоны чтоле, что бы работало? для этих фотонов нет времени, по сути.

    • Нравится 4

  2. Попробую написать как надо и догадаться для каких целей тебе это нужно:

    print(out[1].."\n"..out[2].."\n"..out[3].."\n"..out[4].."\n"..out[5].."\n"..out[6].."\n") --отображаем 6 значений из таблицы
    Вот такой короткий и чёткий код получился.

     

    ужасный говнокод.

     

    как минимум циклом перебрать значения

    for _, v in ipairs(out) do
      print(v)
    end

    лень циклом?

    print(table.concat(out, "\n"))

    хочешь через табы написать?

    print(table.unpack(out))

    через запятую?

    print(table.concat(out, ", "))
    • Нравится 3

  3. По одной строчке судишь о коде  :lol:

    Да это просто пример. Я немного добавил от себя, чтобы показать игроку что кроме самого значения возвращается и ключ i. А то не поймёт и будет нубить.

     

    одна строка это уже код. ключ принято называть не i, а k.

    pairs  дает ключ (key) и значение (value) k, v

    ipairs дает индекс (index) и значение (value) i, v


  4. Часть кода моей новой проги:

    for i,j in pairs (control.keys) do	j()end
    Цикл

    for i in pairs (таблица) do end
    работает столько раз, сколько ячеек в таблице.

    При этом каждый раз выводит ключ i и значение j. В данном случае я в таблице храню функции, а ключ - это клавиши, вроде "f" и прочие для управления.

     

    плохой код, ты не используемую переменную i создаешь, а еще стиль кода плохой.

    • Нравится 1

  5. +4 байта к оперативной памяти, либо +2 операции

    тут нужно решать что важнее, память или скорость.

    хотя учитывая что это код на луа, плхоже будет использоваться в ОС, разницы особой быть не должно, скорость не будет заметна учитывая супер скорость майна, а из памяти гцшка сожрет твои 4 байта, если в ду енд запихнешь код с счетчиком и циклом

    --local table={}
    do
      local n=0
      for i=1, 20 do
        for j=1, 50 do
          n=n+1
          --table[n]={i,j}
          ...
        end
      end
    end
    return table
    • Нравится 1

  6. В ассемблере есть инструкция больше или равно. Вероятно всего процессор исполняет их за один такт, если это числа.

     

    В ассемблере единая инструкция для сравнения. Она устанавливает некоторые флаги, которые потом используются условными переходами, такими как je, jne, ja, jae и другие

    • Нравится 2

  7. Добрый день.

    Меня потянуло на написание анти-вируса(потянуло после видео от ECS)

    И вдруг, первая проблема. Я не знаю как сделать графический интерфейс в своей программе.

    На вики возможно есть об этом что-то. Но я не нашел.

    Помогите.  :smile25:

     

    Для начала надо разобраться, кто ты, велосипедист или нет.

    Если нет, ищи библиотеки для графики.

     

    Если велосипедист, пиши сам.

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

     

    Значит, для рисования используется компонент gpu.

    Подключить его можно как то так:

     

    local gpu = require("component").gpu
    

     

    После этого этот компонент будет доступен в локальной переменной gpu.

    Этот компонент дает нам возможность рисовать на экране, с функционалом можно ознакомиться в интернете (гугли "component gpu opencomputers")

     

    Его хорошо совмещать с библиотекой event, с помощью которой обрабатывать клики на экране.

    • Нравится 1

  8. библиотека, это просто абстракция, например. задача библиотеки — предоставление неких данных. как реализована будет библиотека — дело программиста и языка, например.

     

    в луа, например, при создании библиотеки возвращается таблица с данными библиотеки. кроме того, например, не обязательно делать ее локальной, хренальной, розовой, круто названой, просто вернуть таблицу. любую таблицу. с любыми значениями. а можно и не таблицу. можно сделать библиотеку которая вернет функцию-класс (как в жабаскрипте), можно сделать библиотеку которая вернет число (очень нужное ясен пень, к примеру 42).

     

    то есть, я могу спокойно написать что то вроде такого кода, например:

    return {  42, 33,  wow = function () end,  chat_messages = {"продам гараж", "куплю гомункула", " где детонатор", "C++ forever"}}
    а могу и так:

    local a = 42return a ^ 8 * 33 - 2
    @Pofigist, все в твоих руках, можно все, например.

  9. есть установленные в lua сообществах принципы именования.

    local myCoolVariable = 10  -- переменная
    local MyClass = class{...}  -- класс
    require("nano_game")  -- либа
    require("nano_game.graphics") -- либа с сублибами
    
    

    придерживайтесь их, дабы улучшить читабельность.

    • Нравится 1
×
×
  • Создать...