[Logo]
LUA Форум
  [Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
Сообщения, отправленные пользователем: mozers™
Индекс форума » Профиль для mozers™ » Сообщения, отправленные пользователем mozers™
Автор Сообщение
Спасибо, убедительно
Ну и чтобы уж все точки над i расставить:
Зачем сделали "@" в результате возвращаемом по debug.getinfo(1, "S").source ? В нем есть какой то смысл?
1. Это - очень приятное для меня сообщение
2. Не... Я так не считаю. Просто противники этого решения где то вычитали, что debug не рекомендуется использовать в рабочих скриптах (дескать он - только для их отладки)... Вот и захотелось выяснить до какой степени беспочвенны их подозрения.
Пытливые бета-тестеры обнаружили баг в исходной конструкции.
Дело в том, что если путь к каталогу очень длинный то параметр short_src возвращает обрезанный с начала путь, в котором недостающие символы заменены многоточием.
Поэтому было решено заменить short_src на source. Получилось так:Все работает хорошо, но возникают 2 вопроса:
1. Всегда ли в параметре source первый символ будет @ ?
2. Почему объект debug так редко применяется в скриптах? (Есть какие-то врожденные минусы в его использовании?)
Вопрос снимается. Мое доморощенное решение оказалось вполне работоспособным.
Ошибка выскакивала из-за моей невнимательности (назвал пользовательскую переменную именем debug).
Хотя и виноват, конечно, но думаю что решение пригодится не только мне (на этом форуме уже нашел посты о том что вычислить путь к текущему скрипту просто невозможно). Ан - неправда
Весь скрипт грузится при загрузке SciTE из SciTEStartup.lua командой

Функция debug.getinfo, пытающаяся определить путь, запускается по эвенту SciTE OnFinalise()...
Написал эти строки и подумал "а не повесить ли мне определение пути на какой нить другой эвент?"
Повесил на OnOpen.
Теперь могу прочитать ошибку:
attempt to index upvalue 'debug' (a boolean value)

Но только совсем не ясно почему не работает то :-/
Методом "тыка" придумал такое решение поставленной задачи:


Но вдруг обнаружил, что механизм то срабатывает то - нет (даже закономерности не нашел

Дело в том, что эта строка запускается при закрытии SciTE (используется встроенный в него интерпретатор Lua) и затем используется для запуска внешнего js-скрипта.
Поэтому и ошибку я не вижу (просто на этой строке выполнение скрипта прерывается и SciTE закрывается).
Если эту строку я выполняю непосредственно - то все работает.

Может кто подскажет? Или есть альтернативный способ узнать путь к текущему скрипту?
Спасибо! Самое то.
[s]И простите за невнимательность к документации[/s].
В ходе выполнения lua-скрипта переменной присваиваются самые разнообразные значения.
Есть ли возможность узнать тип значения (что это такое - стринг, таблица, userdata?).
В частности очень интересует как можно задействовать функцию lua_istable?
Как только не писал lua_istable(value), value:lua_istable(), value.IsTable, ... - все равно lua-шный скрипт не опознает эту функцию.
СПАСИБО. Все вроде понял.
Если понял правильно, то работу функции sort можно описать таким кодом:
Всетаки никак не просеку логику функции сравнения :-/
Вот так, как я полагал, вообще ничего не должно сортироваться:
Однако - элементы таблицы все равно сортируются, правда в каком то диком порядке :-/
Если false заменить на true то вообще ошибка возникает.
10 раз справку по sort перечитал - бесполезно :-/
2smz
Класс!
[s]Ребята, я не успеваю за стремительным полетом вашей мысли [/s]
2smz
Я написал как раз не то что получаю, а то что хочу получить

2Strijar
СПАСИБО! То что надо. Работает отлично!
Составной ключ мне не подходит (слишком непредсказуема разрядность чисел - тут сильно упрощенный пример).
В два прохода тоже почему то фигню выдает
Никак не могу понять почему таблица не сортируется как надо.
Делаю так:Получается совсем не то, что надо получить:
Большое СПАСИБО всем ответившим на вопрос!
Раскрою карты: в данном конкретном случае и документация и исходники у меня были изначально
Просто достаточно часто приходится сталкиваться с ситуацией, когда автор в документации забыл описать часть функций, а исходники не выкладывает по субъективным причинам.
Ну теперь то хотя бы командой table.foreach(xyz,print) смогу воспользоваться
 
Индекс форума » Профиль для mozers™ » Сообщения, отправленные пользователем mozers™
Перейти:   
Powered by JForum 2.1.8 © JForum Team