miner7
-
Публикации
11 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем miner7
-
-
-
@NEO , спасибо, а можно, пожалуйста, пример использования?) Подставлял вместо someText свою строку, выход идентичен входу.
-
1
-
-
Всем привет! Есть такая задача: на входе строка с экранированными управляющими символами: "Lorem ipsum \\n dolor sit amet", на выходе она должна быть такой "Lorem ipsum \n dolor sit amet". Как можно сделать это максимально компактно? Заранее благодарен)
-
1
-
-
-
Привет, мир! Мой первый пост на этом форуме, и первый скрипт, хоть сколько-то дописанный до конца) Для интереса было решено написать небольшую утилиту поиска. Алгоритм простой: рекурсивно перебирать все файлы, начиная с рабочей директории; если найдено совпадение с запросом - добавить в таблицу результатов. Буду благодарен за любую конструктивную критику)
Установка:
Скрытый текстpastebin get 6WM5ufWE /bin/where-is.lua
Код:
Скрытый текстlocal fs = require("filesystem") local shell = require("shell") local args, opts = shell.parse(...) local pwd = shell.getWorkingDirectory() if #args < 1 then error("Not enough arguments") end if pwd ~= "/" then pwd = pwd.."/" end Queue = {} Queue.__index = Queue function Queue:new(firstValue) local obj = {firstValue, first = 1, last = 1} setmetatable(obj, self) return obj end function Queue:push(value) local last = self.last + 1 self.last = last self[last] = value end function Queue:shift() local first = self.first if first > self.last then error("queue is empty") end local value = self[first] self[first] = nil self.first = first + 1 return value end local queue = Queue:new(pwd) local results = {} while queue.last >= queue.first do local currentDir = queue:shift() for file in fs.list(currentDir) do local filePath = currentDir..file if string.find(file, args[1]) then results[#results+1] = filePath end if fs.isDirectory(filePath) and not string.find(file, "mnt") then queue:push(filePath) end end end print("Found " .. #results .. " file(s)") for i,v in ipairs(results) do print(" - "..v) end
-
4
-
1
-
-
-
Вы, наверное, не правильно поняли мой вопрос) Я имею ввиду способ определять окончание работы программы (например, закрытие Ctrl+Alt+C) и автоматически удалять таймер при условии, что ID мне известен.
-
Недавно выяснил для себя, что функция, которая вызывается таймером, запускается в отдельном от программы окружении, поэтому при закрытии программы функция продолжает выполняться. Есть ли способ автоматически при закрытии программы удалять таймер?
-
Спасибо большое, не догадался посмотреть на англоязычной вики)
-
При написании программы мне понадобилось использовать long-polling, и я подумал о том, что хорошо было бы обернуть его в событие, которое в разных частях кода ловилось бы event.listen или event.pull. Возможно ли это?
-
1
-

Убрать экранирование управляющих символов
в Lua
Опубликовано: · Изменено пользователем miner7
@NEO , спасибо большое за помощь)