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

Первый мини вопросик

Вопрос

Доброго времени суток первый раз на вашем форуме)

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

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

А я короче сделаю!

У тебя целых 47 символов!

while true do require("robot").use() end -- 40 символов

Так делать в циклах не следует. Луа до попки, 34 или 37 символов там. Это ты лагульку создал в порыве уменьшения количества буковок.

Ты в  бесконечном цикле лоадишь целую библу, а потом еще и ищешь там метод use, как абсолютно верно подсказал тебе eu_tomat!

 

Нужно кешировать все максимально и только то, что тебе нужно, все что в циклах крутится в твоей проге.

robotUse = require("robot").use
while true do 
  robotUse() 
end

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А самому учиться? Не?

Я пытался учится программированию на lua ну не мое это не могу я программировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я пытался учится программированию на lua ну не мое это не могу я программировать.

Если не твоё, тогда кыш отсюда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если ты хочешь заставить его крутить ручку дробилки из AE2 -- чувак, это невыполнимо.

Изменено пользователем MineUbuntu

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если ты хочешь заставить его крутить ручку дробилки из AE2 -- чувак, это невыполнимо.

Нет просто чтобы он палкой тыкал правой кнопкой по блоку из IC2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет просто чтобы он палкой тыкал правой кнопкой по блоку из IC2

А, такое где-то на форуме было, поищи хорошо

 

======

Не буду тебя мучить, вот

Изменено пользователем Netins

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А я ещё больше помогу:

r = require("robot")
while true do r.use() end;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А я ещё больше помогу:

r = require("robot")

while true do r.use() end;

А я короче сделаю!

У тебя целых 47 символов!

while true do require("robot").use() end -- 40 символов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

r = require("robot") while true do r.use() end;

Ты разгласил главный секрет нашего сервера.

Теперь mini_bro станет одним из нас.

А я короче сделаю! У тебя целых 47 символов!

while true do require("robot").use() end -- 40 символов

 

Зато ты тратишь время на вызов require(). Ты не труЪ-лагодромщикЪ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А я короче сделаю!

У тебя целых 47 символов!

while true do require("robot").use() end -- 40 символов
::a::robot.use()goto a -- 22 символа

А вообще, это не работает, я замерял - кпд меньше 100%

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

::a::robot.use()goto a -- 22 символа
А вообще, это не работает, я замерял - кпд меньше 100%

 

Ах, вот, зачем ты спрашивал в чате про разное время выполнения в разных циклах! Здесь копипаст вне конкуренции по скорости. Правда, размер программы большой. Но можно же и RAID подключить для такой задачи.

Я теперь знаю, зачем в ДЦ столько компов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ах, вот, зачем ты спрашивал в чате про разное время выполнения в разных циклах! Здесь копипаст вне конкуренции по скорости. Правда, размер программы большой. Но можно же и RAID подключить для такой задачи.

Я теперь знаю, зачем в ДЦ столько компов.

 

Кстати, спасибо за идею, я goto за цикл не считал, надо проверить потери времени при его использовании.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
robotUse = require("robot").use
while true do 
  robotUse() 
end
r=require("robot").use while true do r() end

44 буквы,раз уж на то пошло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
r=require("robot").use while true do r() end

44 буквы,раз уж на то пошло.

 

 

Скобки и пробелы для понтов! Долой скобки и пробелы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скобки и пробелы для понтов! Долой скобки и пробелы!

Хватит пробелы выкидывать - они мне нужны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Настоящие тыжпрограммисты вечные циклы не юзаютъ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я один знаю, что реквайр только один раз погружает либу?) Потом он просто возвращает данные из оперативки

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я один знаю, что реквайр только один раз погружает либу?) Потом он просто возвращает данные из оперативки

 

 

Лучше почитай это http://www.lua.org/gems/sample.pdf

 

Вот суть:

for 1 N do
   a = math.sin(N)
end

--работает на 30% медленнее, чем

local sin = math.sin
for 1 N do
   a = sin(N)
end

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Огромное всем спасибо!

Что все так быстро ответили вы мне очень помогли. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


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