Новая версия 1.3
Убрал зависимость от модуля "Строка"В режиме компиляции не работало, если в проекте не было действий этого модуля.
немного не честно оформлено, уж извини - Предположим я не супер прогер. А хочу изменить простую вещь - скажем вывести в лог с цветом - тут вроде не сложно, но копаться в js, пересоздавать модуль ... ну это уже посложнее. И не хочу я еще 100500 действий создавать, а так просто один кубик.
Я не бузю, и для меня это не сложно, но было бы удобнее в исходниках просто приложить проект.
ну я не придираюсь, но в правилах оформления модуля вроде так.
Короче, не парься, я и этому рад. Спасибо.
@DuckDuck said in Проверка дубликатов меток в проекте:
немного не честно оформлено, уж извини - Предположим я не супер прогер. А хочу изменить простую вещь - скажем вывести в лог с цветом - тут вроде не сложно, но копаться в js, пересоздавать модуль ... ну это уже посложнее. И не хочу я еще 100500 действий создавать, а так просто один кубик.
Я не бузю, и для меня это не сложно, но было бы удобнее в исходниках просто приложить проект.
ну я не придираюсь, но в правилах оформления модуля вроде так.
Короче, не парься, я и этому рад. Спасибо.
Эмм, я же написал, что функция создана руками, в проекте небыло кубиков BAS кроме одного "выполнить код" с кодом
var project = native("filesystem", "readfile", JSON.stringify({ value: project_path(), base64: false, from: 0, to: 0 }));
const regex = /_set_goto_label\("(.*?)"\)\!/g;
const matches = [];
var match;
while ((match = regex.exec(project)) !== null) {
matches.push(match[1]);
}
var duplicates = [];
for (var i = 0; i < matches.length; i++) {
for (var j = i + 1; j < matches.length; j++) {
if (matches[i] === matches[j] && !duplicates.some(function (el) { return el === matches[i] })) {
duplicates.push(matches[i]);
}
}
}
_function_return(duplicates);
Да и это нужно было только что бы сгенерировать модуль, а не создавать все файлы самостоятельно.
@DuckDuck said in Проверка дубликатов меток в проекте:
@Fox погоди а как ты создавал модуль ? Ну я не очень опытен в этом вопросе - там вроде надо сделать функцию, и из нее сделать модуль. брр наверное я сам процесс не до конца понял.
Я в пустом проекте BAS создал функцию "checkDuplicates", поместил в неё действие "Выполнить код" с кодом, который приложил выше и с помощью менеджера модулей создал модуль. Всё.
Вот гифка для наглядности:

@Fox Простите если не в тему. А я верно понимаю - если в трех скриптах есть повторяющийся код [у меня в виде функции но в каждом скрипте отдельно] (а я когда вношу правки то вношу в каждый скрипт поочередно), то можно сделать отдельный скрипт как Вы показали на гифке, сделать это модулем и поправляя код в модуле - он будет "обновляться" в каждом скрипте?*
@m4zuper said in Проверка дубликатов меток в проекте:
@kuzkuz Лучше сделать из этой функции модуль и просто обновлять его по надобности в каждом проекте
Ну да, я вот про это и спросил.
можно сделать отдельный скрипт как Вы показали на гифке, сделать это модулем и поправляя код в модуле - он будет "обновляться" в каждом скрипте?*
@kuzkuz said in Проверка дубликатов меток в проекте:
@Fox Простите если не в тему. А я верно понимаю - если в трех скриптах есть повторяющийся код [у меня в виде функции но в каждом скрипте отдельно] (а я когда вношу правки то вношу в каждый скрипт поочередно), то можно сделать отдельный скрипт как Вы показали на гифке, сделать это модулем и поправляя код в модуле - он будет "обновляться" в каждом скрипте?*
Нет, не будет. Скорее всего вам придётся обновлять действия из вашего модуля после изменений самого модуля. Плюс не забывайте про проблему id инпутов для ввода данных https://community.bablosoft.com/topic/14537/вопросы-по-модулям-bas
Это сработает, если будет менятся только внутрянка модуля (файл engine.js), без добавлений новых действий, и вы будете запускать проект в BAS с установленным одноимённым модулем.
@DuckDuck said in Проверка дубликатов меток в проекте:
у Фокса бинго - 14444 постов - красивое число :) сорян за флуд :)
Что бы не портить цифру этим постом удалил старое сообщение :D

@Fox почему при выполненнии кода пустой ответ? как раз словил ситуацию,что софт создал метку которая уже есть (в другой фунции )и вместо перехода по тей в текущей функции прыгает соот-но в более ранюю.
код выполнял в выполнитькод самая последняя версия софта
модулем не хочу встраивать,хотелось бы иметь простое решение через вставку кода,Если можно. ибо куча модулей и так стоит,Не хочется нагружать еще больше софт
@e94048fb6d said in Проверка дубликатов меток в проекте:
@Fox почему при выполненнии кода пустой ответ? как раз словил ситуацию,что софт создал метку которая уже есть (в другой фунции )и вместо перехода по тей в текущей функции прыгает соот-но в более ранюю.
код выполнял в выполнитькод самая последняя версия софта
модулем не хочу встраивать,хотелось бы иметь простое решение через вставку кода,Если можно. ибо куча модулей и так стоит,Не хочется нагружать еще больше софт
В описании указано "Действие возвращает список дублирующих имён, если дубликатов нет, то в переменной будет пустой список. ". Использовать можно как код, так и модуль, разницы нет
@e94048fb6d said in Проверка дубликатов меток в проекте:
@Fox дубликат есть,но не возвращает ничего) ибо если перейти по метке,то переходит в другую функцию
Прикладывайте проект - посмотрю в чём проблема
@e94048fb6d said in Проверка дубликатов меток в проекте:
@Fox можете отписать в лс? не хватает репутации,Чтоб отписать
Лайкнул вам пост, что бы вы могли писать в личку