@mik888em из вашего поста видно что вы пытаетесь пасить переменную представленную в формате JSON, а она ей не является.
upd Поставьте проверку на валидность json Или сами напишите проверочную функцию или проще есть кубик JSON там есть экшен проверки на валидность формата.
БАГ Не работает регулярное выражение в списке
-
@Denis_krsk
Этот проект написан был на этой версии.
Сейчас переустановлю бас посмотрю как себя поведет.
В чем прикол что попробовал изменить в кубике "читать фаил в список" путь к другому файлу и регулярка перестала работать даже если в него скопировать опять те же два кубика из рабочего проекта. Теперь чтобы заработало нужно рабочий проект пересохранять и чистить все кроме этих двух кубиков. -
@BabloUser увы, но @Denis_krsk прав. Регулярные выражения работают только со строками, без исключений.
А теперь тест на внимательность! Вот два идентичных тестовых скрипта:
Первый и Второй.Вопрос: Почему в первом скрипте регулярка не срабатывает, а во втором срабатывает?
-
@Fox Интересно конечно и именно из-за этого я на 50% перешел на js т.к. в js я понимаю как работают методы, а в БАС экшенах одному разрабу известно. Была текстовая подробная документация в место видео помне было бы лучше.
-
@BabloUser Не заваливайте тест на внимательность.
Если скопировать экшены из второго проекта в новый, то они тоже будут работать.
Вопрос: Почему? -
@Denis_krsk Не разочаровывайте меня, всё дело как раз в js. BAS тоже работает на JavaScript.
Ну или скажите, если тема с загадками тухлая..
-
ребята объясните нормально что за фигня твориться почему в одном работает а в другом не работает? По человечески без загадок.
в архиве приложено два проекта они подписаны
0_1521218303030_2.zipРабочий - Это скопираванный проект в котором регулярка работает в нем все удалено кроме 3 кубиков читаем, получаем данные регуляркой, вывыгодим в лог.
Не рабочий - Это тот проект который создавался как новый, и все 3 кубика прописаны руками то есть не копированные из рабочего проекта.
Функционал идентичный
как вам такая загадка )
p.s
бас переустанавливал с полной очисткой от прежней версии, без результативно -
This post is deleted!
-
@BabloUser Одному @Fox Известно :) Я не настолько хорошо знаю js, читаю по маленьку :)
-
первый
var regexp_result = native("regexp", "first", JSON.stringify({ text: VAR_NEW_LIST, regexp: "\u005cd" })) if (regexp_result.length == 0) regexp_result = [] else regexp_result = JSON.parse(regexp_result) VAR_ALL_MATCH = regexp_result.pop() if (typeof(VAR_ALL_MATCH) == 'undefined' || !VAR_ALL_MATCH) VAR_ALL_MATCH = "" VAR_GROUP1 = regexp_result[0] if (typeof(VAR_GROUP1) == 'undefined' || !VAR_GROUP1) VAR_GROUP1 = "" VAR_GROUP2 = regexp_result[1] if (typeof(VAR_GROUP2) == 'undefined' || !VAR_GROUP2) VAR_GROUP2 = "" VAR_GROUP3 = regexp_result[2] if (typeof(VAR_GROUP3) == 'undefined' || !VAR_GROUP3) VAR_GROUP3 = "" if (regexp_result.length == 0) { VAR_GROUP1 = VAR_ALL_MATCH }второй
VAR_NEW_LIST = (VAR_NEW_LIST).join(",") var regexp_result = native("regexp", "first", JSON.stringify({ text: VAR_NEW_LIST, regexp: "\u005cd" })) if (regexp_result.length == 0) regexp_result = [] else regexp_result = JSON.parse(regexp_result) VAR_ALL_MATCH = regexp_result.pop() if (typeof(VAR_ALL_MATCH) == 'undefined' || !VAR_ALL_MATCH) VAR_ALL_MATCH = "" VAR_GROUP1 = regexp_result[0] if (typeof(VAR_GROUP1) == 'undefined' || !VAR_GROUP1) VAR_GROUP1 = "" VAR_GROUP2 = regexp_result[1] if (typeof(VAR_GROUP2) == 'undefined' || !VAR_GROUP2) VAR_GROUP2 = "" VAR_GROUP3 = regexp_result[2] if (typeof(VAR_GROUP3) == 'undefined' || !VAR_GROUP3) VAR_GROUP3 = "" if (regexp_result.length == 0) { VAR_GROUP1 = VAR_ALL_MATCH }во втором список всклеевается в строку, джойн об этом недвусмысленно намекает
-
@BabloUser said in БАГ Не работает регулярное выражение в списке:
@ruzne почему он так генерируется? где загвоздка?
VAR_NEW_LIST = (VAR_NEW_LIST).join(",")VAR_NEW_LIST во втором не список, не объект и не коллекция, а строка
-
@ruzne так это понятно так почему редактор баса генерирует код неправильно из кубика?
да и списки тут как бы не причем так как чтение из списка читается правильно в переменной список а не строки в одну строку. Если смотреть в редакторе. -
@ruzne Блин, а я все пересмотрел, а на список даже не глянул и в голову не пришло, что стандартный кубик список может быть изменен. Только не пойму это вручную изменили или в какой-то версии БАС он так работал, или просто глюк :)
