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

Лидеры


Популярный контент

Показан контент с высокой репутацией 24.03.2020 во всех областях

  1. 3 балла
    Огромное человеческое спасибо! Все работает!
  2. 1 балл
    Продолжу рассказывать про знаки препинания. В этом посте — 3 разных истории про пару круглых скобок. 1. Вызовы функций Если функция вызывается с одним аргументом — строковым или табличным литералом, то скобочки необязательны. local function identity(x) return x end print(identity "test" == "test") print(table.unpack(identity {"test"}) == "test") Это чисто синтаксическая фишка, которая никак не влияет на исполнение кода. Очень удобно, чтобы вызвать функцию и передать ей таблицу с опциями. local logger = getLogger { name = "main", level = "info", output = {stdout}, } Если несколько литералов так разместить подряд, получится ряд последовательных вызовов: myFunc "hello" "world" {"how do you do"} -- myFunc("hello")("world")({"how do you do"}) Используя эту фичу, можно воплотить всякие норкоманские вещи. Как вам вот такой форматтер с интерполяцией? local myVar = 42 print(format "myVar = " {myVar} ", and I'm running " {_VERSION} ()) --> myVar = 42, and I'm running Lua 5.3 2. Ещё про литералы У всех строк есть метатаблица, у которой __index = string. Это значит, что можно вместо string.gsub(str, ...) писать str.gsub(str, ...), или str:gsub(...). Очень удобно, особенно последнее. Но вот просто так заменить str литералом нельзя. "test":gsub(...) — синтаксически неправильный код. Выручат скобки вокруг литерала: ("test"):gsub(...). Постоянно этим пользуюсь. Та же ситуация, если мы хотим проиндексировать табличный литерал: {foo = "bar"}.foo выдаст ошибку. Лечится аналогично: ({foo = "bar}).foo. Кроме индексации, скобочки нужны при вызове: вместо function() return 42 end() нужно писать (function() return 42 end)(). Наконец, есть ещё литералы численные: 42, например. В обычной Lua оборачивать их в скобки смысла, пожалуй, и не имеет, но с небольшим шаманством опять потребуются скобочки: debug.setmetatable(0, {__call = function(self) print(self) end}); (42)() --> 42 Правда, в OpenComputers отключён debug.setmetatable. 3. Функции с множественным выхлопом В Lua функция может вернуть несколько значений: local function test() return 1, 2, 3 end print(test()) --> 1 2 3 Однако бывает, что нужно достать только одно значение, а про остальные забыть. Для этого нужно обернуть в скобки вызов функции, вот так: print((test())) --> 1 Скобочки возьмут только первое значение и отбросят остальные. С помощью функции select можно выбрать и другое по счёту: local function identity(...) return ... end print((select(3, identity(10, 9, 8, 7, 6, 5, 4, 3, 2, 1)))) --> 8
  3. 1 балл
    @Asummonster 470 + 100 = 570 очков репутации.
  4. 1 балл
    ну ждем тогда, если заказчик одобрит, +100 в репку тебе зачислено будет
  5. 1 балл
    @Asummonster и кстати, для той задачи, которая в заказе для управления рэдом в чужом привате, лучше было бы, имхо не кнопки "светящиеся" хотеть заказчику две штуки, которые работают в режиме вкл/выклк (типа отключение рэда при повторном нажатии он хотел), а строки с чекбаксами Типа так: [x] - реактор [x] - дверь [ ] - люк ... Это сделает гуи проще визуально понятнее, и програмка будет более масштабируемая для любых задач (если рэд. сигнал подавать редстон-камнями ОС)
  6. 1 балл
    ну это да. Если робот катается незаприваченный (без useradd), конечно, бери его, стопай, но не ломай, запускай свою прогу и езжай гриферить хозяина робота
  7. 1 балл
    Наверное вопрос был про то, что пока робот вне привата, можно его без демонтажа перепрограммировать и заставить поехать на приват хозяина собирать лут. Против этого по идее поможет useradd
  8. 1 балл
    Самое простое, что могу предложить это на каждый улей повесить по компьютеру с транспозером и анализатором. Будет очень избыточно, но можно бесконечно расширять и распараллеливать процесс селекции. Можно анализировать руками, складывать в общее хранилище, откуда они будут забираться для селекции. А вообще, это все довольно быстро делается руками - размножаются нужные породы, пачками скрещиваются, сортируются и размножаются заново.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...