Size: a a a

2020 July 11

LL

Lämppi Lütti in pro.lua
Полный доступ к внутрянке?
источник

S

Snusmumriken in pro.lua
Aydar Zarifullin
А почему C API использует концепцию стэка, а например не просто набор функций для создания/конвертации луевых/сишных объектов?
Потому что весь интерпретатор — это стековый автомат, а c-api модифицирует состояние этого стекового автомата. Внутри самих луёв нет каких-то объектов и их конвертации.

Хотя, разумеется, у меня есть обёртка выгрузки в луа структур/методов как объектов, кто бы мог подумать.
источник

АК

Александр Караев... in pro.lua
Aydar Zarifullin
А почему C API использует концепцию стэка, а например не просто набор функций для создания/конвертации луевых/сишных объектов?
низкоуровневый и детальный API позволяет построить поверх него любой высокоуровневый, при желании.
наоборот не прокатит
источник

S

Snusmumriken in pro.lua
Aydar Zarifullin
А почему C API использует концепцию стэка, а например не просто набор функций для создания/конвертации луевых/сишных объектов?
Плюс за счёт стековости и простоты, биндинги делаются в три тычки. Ты пробовал биндить питон или жаваскрипт?
Насколько просто там биндить простые штуки, и насколько просто что-то сколько-нибудь сложное?
источник

зк

захар который... in pro.lua
Snusmumriken
function getLog(filename)
 return function(text)
   local f = assert(io.open(filename, "wb"))
   f:write(tostring(text) .. "\n")
   f:close()
 end
end

local log = getLog("/home/mylog.log")

log("Это сообщение будет записано в файлик")
log("И это тоже")
...
Смотри, вот я добавил в скрипт функцию

function getLog(filename)
 return function(text)
   local f = assert(io.open(filename, "wb"))
   f:write(tostring(text) .. "\n")
   f:close()
 end
end

local log = getLog("/home/mylog.log")

log("Это сообщение будет записано в файлик")
log("И это тоже")
log("И это тоже выводит")

и выводит она мне строку

"И это тоже выводит"

(почему-то только последнюю)

Но как сделать, чтобы логировалось выполнение скрипта?

Нашёл в доках программы функцию, которая вроде бы как раз для логирования:
http://doublecmd.github.io/doc/ru/lua.html#libdc
источник

S

Snusmumriken in pro.lua
А, сорян
источник

S

Snusmumriken in pro.lua
io.open(filename, "a+")
источник

зк

захар который... in pro.lua
Отлично!  Теперь все строки выводит.  
Но только, которые внутри
log("...")

А как таким образом выполнение скрипта  фиксировать?
источник

S

Snusmumriken in pro.lua
Ммм.

local params = {...};

local n = SysUtils.ExtractFileName(params[1])
n = string.sub(n, 1, string.len(n) - string.len(e))
local file = n:gsub("%s+", "_")

log("Trying to rename from")
log(params[1])
log("to")
log(file .. e)

local succ, res = os.rename(params[1], file .. e);

log("Result: " .. tostring(succ) .. " " .. tostring(res))

А потом берёшь такой, и читаешь содержимое файла.
источник

S

Snusmumriken in pro.lua
захар который
Отлично!  Теперь все строки выводит.  
Но только, которые внутри
log("...")

А как таким образом выполнение скрипта  фиксировать?
Ну это было как бы очевидно. Берёшь и фиксируешь исполнение в лог. Читаешь его. Оп, чот не то? Исправляешь. Потом снова читаешь лог. Когда станет всё ок — всё ок.
источник
2020 July 12

MH

Maxim H in pro.lua
Как в два по полному имени файла определить каталог в котором этот файл находится? Есть ли в lua стандартная функция для этого? Я смотрел lfs и не нашел ничего подходящего.
источник

6

6 :) in pro.lua
Год задался нынче - жесть!
Даром, что високосный. Но прочие високосные не в пример.  Только полгода прошло, а чего только не случилось?!
Так теперь ещё и комета 😱 (видна ранним утром на северо-востоке).
источник

MH

Maxim H in pro.lua
6 :)
Год задался нынче - жесть!
Даром, что високосный. Но прочие високосные не в пример.  Только полгода прошло, а чего только не случилось?!
Так теперь ещё и комета 😱 (видна ранним утром на северо-востоке).
@abashin, Вы  на луа программируйте? Может подскажите где мне найти ответ на мой вопрос?
источник

CP

Companion Philipp in pro.lua
Maxim H
Как в два по полному имени файла определить каталог в котором этот файл находится? Есть ли в lua стандартная функция для этого? Я смотрел lfs и не нашел ничего подходящего.
Что такое полное имя файла?
источник

VD

Vlad Doc in pro.lua
Maxim H
Как в два по полному имени файла определить каталог в котором этот файл находится? Есть ли в lua стандартная функция для этого? Я смотрел lfs и не нашел ничего подходящего.
найти последний символ '\\' или '/' и сделать подстроку до него?
источник

CP

Companion Philipp in pro.lua
Vlad Doc
найти последний символ '\\' или '/' и сделать подстроку до него?
Ну это если путь есть :)
источник

VD

Vlad Doc in pro.lua
Companion Philipp
Ну это если путь есть :)
Ждём его дефиницию "полного имени файла"
источник

MH

Maxim H in pro.lua
Начинается со слеша
источник

MH

Maxim H in pro.lua
Например: с:abc\def.lua - относительное имя файла
\\?\с:\foo\bar\abc\def.lua полное имя файла
С:\foo\bar\abc\def.lua - тоже полное имя файла
источник

MH

Maxim H in pro.lua
В моем определении что-то неожиданное? Нужно подкреплять ссылками?
источник