yozhic

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору VSHY (пост) Цитата: экранировать двойные кавычки? Или просто удвоить каждую | Да, я всё это пробовал изначально: и экранировал (кавычки удаляются, backslash'и остаются), и удваивал (все кавычки удаляются), и утраивал (преобразуются в экранированные кавычки и передаются AP вместе с backslash'ами), и учетверял (то же, что и утраивать). Двойные кавычки ведут себя непредсказуемо, и вывод напрашивается один: поскольку GD — это Qt-шная разработка, то это — последствия вмешательства Qt. Вначале с дв. кав. Qt «играет», потом ком-строка, и в результате использовать их в этой связке не получится. Но вопрос к AkelPad тем не менее остаётся. Существуют ли правила вложенности кавычек? Почему запись Код: /Call('Scripts::Main', 4, 'EvalCmd.js', 'AkelPad.TextFind(0, `(?m)^%GDWORD%$`, 0x280001);') | вызывает ошибку? Почему обратные внутри одинарных вызывают ошибку Invalid Character? Так задумано или это можно исправить? Правила вложенности нигде не оговариваются. В справке есть только пример: Код: /Exec("notepad.exe") метод вызывает блокнот. /Exec(`notepad.exe`) метод вызывает блокнот. /Exec('notepad.exe') метод вызывает блокнот. | из которого очевидна допустимость трёх видов кавычек, но не очевидны правила их взаимной вложенности. AZJIO (пост) Цитата: Было бы справедливо, если б это сразу разбирал RegExp движок. Но ещё до того, как оно доберётся до RegExp, его отфутболивает проверка синтаксиса параметров комстроки. Проверка видит одинарный апостроф внутри GDWORD, считает что это конец параметра, и ругается, что нету закрывающей скобки ")". ramanuki Сейчас протестирую способ с батником и отчитаюсь. |