Нужен автокод - иностранцам вежливо настраивать язык кириллический

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Тройные кавычки

Сообщений 1 страница 3 из 3

1

LLM написал(а):

1) Рефлексия: В психологии тройные кавычки могут символизировать внутренний диалог или размышления человека. Это может быть использовано в текстах, чтобы показать, как человек обрабатывает свои мысли и чувства.

Докстринги: В Python тройные кавычки также используются для написания документации к функциям и классам (докстрингов). Это позволяет разработчикам описывать, что делает функция или класс, и как их использовать.
def example_function():
    """Эта функция ничего не делает."""
    pass

2) Цитирование: Тройные кавычки могут использоваться для выделения длинных цитат или фрагментов текста, что позволяет акцентировать внимание на определенных идеях или концепциях.

Многострочные строки: В языках программирования, таких как Python, тройные кавычки используются для создания многострочных строк. Это позволяет разработчикам писать текст, который занимает несколько строк, без необходимости использовать символы переноса строки.
text = """Это пример
многострочной строки
в Python."""
могут включать в себя любые символы, включая одинарные и двойные кавычки. Это позволяет полностью обрабатывать текст, включая форматирование и специальные символы.
text = """Это пример многострочной строки,
которая может содержать 'одинарные' и "двойные" кавычки."""

3) Форматирование строк: В некоторых языках, таких как JavaScript, тройные кавычки могут использоваться для интерполяции строк, что позволяет вставлять переменные и выражения прямо в строку.

Параллели и аналогии: В философских текстах тройные кавычки могут использоваться для обозначения параллелей между различными концепциями или для выделения ключевых идей, которые требуют особого внимания.

Ну, можно было бы ещё таким образом вставлять тексты на каком-нибудь другом языке, типа SQL или языке нижележащего уровня, типа ассемблера или Rust.
Но такого можно добиться и другими средствами (скобками разных видов).

LLM написал(а):

В Markdown многострочные блоки кода создаются с помощью тройных обратных кавычек (```). Это позволяет вам вставлять код, сохраняя его форматирование и выделяя его от остального текста.
Вы также можете указать язык программирования сразу после первых трех обратных кавычек для подсветки синтаксиса.

Если бы строки обрабатывались какими-то двумя алгоритмами, то можно было бы отключать их.
три кавычки - полная обработка
две кавычки - отключить первый алгоритм (например автоматический перевод с языка разработчика (или специального языка) на язык пользователя)
одна кавычка - отключить и первый, и второй алгоритм (например интерполяцию)

bash примерно так и делает.
" - такие строки обрабатываются, подставляются переменные окружения и т.д.
' - такие строки берутся как есть

Какие два алгоритма использовать - оставить на усмотрение разработчика (пусть настраивает выводной поток и устанавливает туда два коллбека).
Как вариант - интерполяция и деэскейпинг. Но тогда упускается локализация.
Можно в тройных кавычках писать инструкции по обработке в начале строки (деэскейпить, локализировать, интерполировать),
в двойных - что-то наиболее частое (например только интерполировать).

Или просто сделать два алгоритма обработки. Для тройных и для двойных. И не обязательно они должны быть иерархически вложены друг в друга.

Ещё проще - три вида строк = три алгоритма обработки. Пусть программист сам решает какие три алгоритма, и что каждый из них делает.
Например:
  одиночные - деэскейпинг
  двойные - интерполяция + деэскейпинг
  тройные - локализация + интерполяция + деэскейпинг

Нужно что-то более концептуальное, чем экранирование двойных кавычек без esc-символа. Иначе сильный замах конвертируется в слабый удар.

Отредактировано Лис (2025-06-07 16:02:54)

0

2

‴ (U+2034) - Triple Prime (‴ ‴ ‴)
‷ (U+2037) - Reversed Triple Prime (‷ ‷)

Код:
    key <KPDV> {
        type="CTRL+ALT",	// Ungrab cancels server/keyboard/pointer grabs
        symbols[Group1]= [ KP_Divide, KP_Divide, U2037, U2037, XF86_Ungrab ],
        symbols[Group2]= [ KP_Divide, KP_Divide, U2037, U2037, XF86_Ungrab ]
    };
    key <KPMU> {
        type="CTRL+ALT",	// ClsGrb kills whichever client has a grab in effect
        symbols[Group1]= [ KP_Multiply,	KP_Multiply, U2034, U2034, XF86_ClearGrab ],
        symbols[Group2]= [ KP_Multiply,	KP_Multiply, U2034, U2034, XF86_ClearGrab ]
    };

    key  <KP8> {
        type= "FOUR_LEVEL_KEYPAD",
        symbols[Group1]= [  KP_Up,	KP_8	, U201E	, U201E	],
        symbols[Group2]= [  KP_Up,	KP_8	, U201E	, U201E	]
    };

    key  <KP9> {
        type= "FOUR_LEVEL_KEYPAD",
	symbols[Group1]= [  KP_Prior,	KP_9	, U201C	, U201C ],
	symbols[Group2]= [  KP_Prior,	KP_9	, U201C	, U201C ]
    };

    key  <KP5> {
        type= "FOUR_LEVEL_KEYPAD",
	symbols[Group1]= [  KP_Begin,	KP_5	, U00AB	, U00AB	],
	symbols[Group2]= [  KP_Begin,	KP_5	, U00AB	, U00AB	]
    };
    key  <KP6> {
        type= "FOUR_LEVEL_KEYPAD",
	symbols[Group1]= [  KP_Right,	KP_6	, U00BB	, U00BB ],
        symbols[Group2]= [  KP_Right,	KP_6	, U00BB	, U00BB	]
    };

    key <KP2>
    {
        type= "FOUR_LEVEL_KEYPAD",
        symbols[Group1]= [          KP_Down,            KP_2,           U201E,        U201E ],
        symbols[Group2]= [          KP_Down,            KP_2,           U201E,        U201E ]
    };
    key <KP3>
    {
        type= "FOUR_LEVEL_KEYPAD",
        symbols[Group1]= [  KP_Next,	KP_3,           U201D,        U201D],
        symbols[Group2]= [  KP_Next,	KP_3,           U201D,        U201D]
    };

Это в файл
/usr/share/X11/xkb/symbols/keypad

Может это и некрасиво - на две раскладки дублировать, но я пока не очень понимаю, как оно работает.

‷‴„“«»„” - во́т

Отредактировано Лис (2025-06-08 00:23:34)

0

3

Прямой (компьютерной) тройной кавычки в Unicode пока нет. Это повод для создания своего стандарта, я считаю.

0