Во-первых, не понимаю, зачем ты мне пишешь про какие-то нарушения, если я пишу про изменения, чтобы это нарушениями не считалось?
Объясняй подробнее, я мысли читать не могу. В любом случае, твой пример ни в какие ворота не годится. Правила нужны для того, чтобы выражение трактовалось однозначно.
Во-вторых, косые кавычки в середине не парсятся как внешние. Если не добавлять угловые скобки, они всё равно не появятся.
Косые кавычки в середине параметра вне строки
<``> - это нарушение синтаксиса. Вообще, твоя строка хоть что-то выдаёт лишь потому, что send не проверяет, что ты передаёшь ей именно строку (обрамлённую по правилам синтаксиса), а не белиберду (как в твоем примере).
В-третьих, неважно, что и в каком количестве должно быть в фигурных скобках. Нужно чтобы всё, что указано внутри ~(``), считалось строкой.
Вообще-то, у символа
~ другое назначение (посылать символы в неизменном виде независимо от раскладки и регистра), и менять его я по понятным причинам не буду. И вообще, запись
~(``) не имеет понятия
внутри, т.к. с точки зрения
send это просто отправка двух косых кавычек (естественно, при условии, что это всё внутри строки
<``>, иначе косые кавычки уберёт парсер строки и в
send придёт лишь
~()). А то, о чём ты пишешь (нужно, чтобы всё внутри чего-то считалось строкой) - это один в один собакорежим.
Режим с собакой - это как раз камень преткновения. Раз с ним всё плохо, остаётся альтернативный вариант.
Интересно, с каких пор с собакорежимом всё плохо стало?
Не понимаю, зачем внутри выражения с тильдой нужны клавиши, если их и так можно снаружи прописать?
Чтобы, например, послать Alt+V, Alt+X, Alt+C подряд в любой раскладке 1 тильдой, а не тремя:
`~(%v%x%c)`.